
しばらく前に設定したリモートで構成されたUbuntu 10.04サーバーがあります。ユーザー名とパスワードを記録したときによく使用されるSSHポートを22から別のものに変更するのに十分賢いようです。
そのポートが何であるかをどうやって知ることができますか?
ホスティング会社のバックドアを介してサーバーにアクセスできるため、任意のUnixコマンドを実行できます。しかし、私のコンピュータで通常のパテシェルを使ってログインすることはできません。
答え1
まず、設定ファイルにどのポートが設定されているかを確認してください。
$ 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
これはssh
ポート22での正常な動作です。
答え2
他の方法でサーバーにアクセスできる場合は、以下を実行してください。
$ sudo grep Port /etc/ssh/sshd_config
Port NNN
これにより、上記のような行が返され、ここでNNN
選択したポートになります。
答え3
より簡単な方法は、SSHサーバー構成ファイルを表示することです。
➜ ~ sudo grep Port /etc/ssh/sshd_config
Port 22
次のコマンドを使用して、各プロセスの受信ポートを確認することもできますlsof
。
sudo lsof -Pi | grep ssh
またはnetstat -lntu
。
答え4
サーバーコンソールへのアクセス権がない場合は、リモートホストのすべてのポートを調べる必要があります。これらのユーティリティは似ていますnmap
が、ネットワーク層はホスト(IPアドレス)とポートの特定の組み合わせでトラフィックを中継する必要があります。