Ubuntu 10.04サーバーをリモートでセットアップしましたが、しばらく前にセットアップしました。ユーザー名とパスワードを記録している間、私は賢く、通常のsshポートを22から…何か他のものに変更したようです。
そのポートが何であるかを知るにはどうすればよいですか?
ホスティング会社のバックドアを介してサーバーにアクセスできるので、必要なUnixコマンドを実行できますが、マシンで通常のパテシェルを使用してログインすることはできません。
コメント
。
回答
最初に、構成ファイルでどのポートかを確認します構成済み:
$ 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で実行されています。
コメント
回答
サーバーにアクセスできる場合他の方法では、次のコマンドを実行するだけです。
$ sudo grep Port /etc/ssh/sshd_config Port NNN
これにより、上記のような行が返され、NNN
が返されます。選択したポートになります。
回答
SSHサーバー構成ファイルを確認するのが簡単な方法です:
➜ ~ sudo grep Port /etc/ssh/sshd_config Port 22
lsof
を使用してプロセスごとのリスニングポートもチェックします:
sudo lsof -Pi | grep ssh
またはnetstat -lntu
などの他のポートリストコマンド。
回答
Ifサーバーへのログインアクセス権がない場合は、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)
回答
「サーバーのコンソールにアクセスできない場合は、離れたホストからすべてのポートをプローブする必要があります。これらのユーティリティはnmap
に似ていますが、ネットワーク層はトラフィックをホスト(IPアドレス)とポートの特定の組み合わせ。
回答
$ 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