web-dev-qa-db-ja.com

SSHでログインするポートを決定するにはどうすればよいですか?

しばらく前にセットアップしたUbuntu 10.04サーバーをリモートでセットアップしています。ユーザー名とパスワードを記録している間、私は賢いようで、通常のsshポートを22から...別のものに変更しました。

そのポートが何であるかをどのようにして知ることができますか?

ホスティング会社のバックドアを介してサーバーにアクセスできるので、必要なUnixコマンドをすべて実行できますが、マシンで通常のPuTTYシェルを使用してログインできません。

15
bharal

最初に、構成されているポートを構成ファイルで確認します。

$ Sudo grep Port /etc/ssh/sshd_config
Port 22

次に、sshを再起動して、見たばかりの設定が読み込まれることを確認するか、sshが実行されているポートを確認します。

$ Sudo netstat -tpln | egrep '(Proto|ssh)'
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      12586/sshd

これは、ポート22で実行されている通常のsshです。

24
Marcos Dione

他の方法でサーバーにアクセスできる場合は、次のコマンドを実行します。

$ Sudo grep Port /etc/ssh/sshd_config 
Port NNN

これにより、上記のような行が返されます。ここで、NNNは選択したポートです。

8
terdon

サーバーへのログインアクセス権がない場合は、nmapの「バージョンスキャン」機能を使用してSSHポートを見つけることができます。

nmap -sV -p- <insert target's IP here>

-sVオプションは「バージョンスキャン」を意味し、-p-は「すべてのポートをスキャンする」ことを意味します。接続が良好で、誰かのファイアウォールまたはIDSを混乱させないことが確かな場合は、-T5を追加して「できるだけ早くスキャン」することができます。結果は次のようになります。

PORT     STATE SERVICE VERSION
1422/tcp open  ssh      (protocol 2.0)
3
Mark

サーバーのコンソールにアクセスできない場合は、離れたホストからすべてのポートをプローブする必要があります。これらのユーティリティはnmapに似ていますが、ネットワーク層はホスト(IPアドレス)とポートの特定の組み合わせにトラフィックをリレーする必要があります。

3
Archemar

より簡単な方法は、SSHサーバー構成ファイルを調べることです。

➜  ~  Sudo grep Port /etc/ssh/sshd_config 
   Port 22

lsofを使用して、プロセスごとのリスニングポートをチェックすることもできます。

Sudo lsof -Pi | grep ssh

または、netstat -lntuのような他のポートリストコマンド。

3
Braiam
$ Sudo netstat -lntp
[Sudo] password for XXX:
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address    Foreign Address  State        PID/Program name
tcp   0      0      0.0.0.0:22       0.0.0.0:*        LISTEN       2799/sshd
tcp6  0      0      :::22            :::*             LISTEN       2799/sshd
1
MJD