最近「Tera Term(テラターム)を使用して、サーバに接続しようとしているんですが、うまく繋がらないんです!」って質問を数多く受けるんです。
原因の多くが、サーバ側の設定(アクセス制限)で接続出来ない場合が多いみたいですが、中にはSSH認証(ユーザ名・パスフレーズ入力画面)までは表示されるけど、「ユーザ名」「パスフレーズ」を入力し「OK」ボタンを押しても何も動かないといった、何となく微妙なパターンもあるみたいです。
そこでここでは「SSH接続トラブルシューティング」と銘うって、TeraTermを使用してサーバへ接続できないであろう6パターンを用意し、それぞれがどんな表示・動作になるのかを実験&纏めてみました。
今回、以下の環境でテストを実施しています。
接続先サーバ:さくらのVPS CentOS6.4 64bit openssh-server-5.3p1
クライアント:Windows7 32bit + Tera Term version 4.83
それでは、SSH接続が出来ないパターンを確認していきましょう。
①SSHサービスが未起動の場合(サーバ側の問題)
まずは、接続先サーバのSSHサービスが起動していない場合になります。
「新しい接続」画面から「ホスト欄」に、接続先サーバのIPアドレス、又はホスト名(名前解決が必要)を入力し「OK」ボタンを押すと・・・
「接続中」の画面(画像左)が表示されますが、ターミナル上には何も表示されません。しばらくすると「Tera Term:エラー / 接続が拒否されました」のポップアップ(画像右)が表示されました。
接続先のサーバ側で、サービスが起動していないにもかかわらず「接続が拒否されました」のメッセージ表示。何となくファイアーウォールなんかでブロックされているよな感じを受けますね。
ユーザ名・パスフレーズの入力間違い(クライアント側の問題)
続いてクライアント側の入力ミス。SSH認証の画面で「ユーザ名」又は「パスフレーズ」の入力を間違っている場合になります。
「ユーザ名」「パスフレーズ」を入力し「OK」ボタンを押すと、「認証に失敗しました。再試行してください」のメッセージ(画像右)が表示されます。もちろんの事ですが、「ユーザ名」「パスフレーズ」のどちらを間違っているかは分かりません。
パスワードを間違っている場合は再入力。ユーザ名を間違っている場合は、再度新しい接続からやり直してください。
何回も「OK」ボタンを押していると、以下のポップアップが表示されました。
まあ単純な「ユーザ名」「パスフレーズ」入力ミスの場合でした。
iptablesでブロックされていた場合(サーバ側の設定の問題)
続いて、接続先サーバ側の「iptable(簡易FW)」でブロックされている場合になります。
「新しい接続」画面から「ホスト」欄に接続先のホスト情報(ホスト名・IPアドレス等)を入力し、「OK」ボタンを押します。
「接続中」の画面(画像左)が表示されますが、コンソール上には何も表示されません。しばらく(私の環境で約20秒)すると「Tera Term:エラー / ホストに接続できません」のポップアップ(画像右)が表示されました。
hosts.denyでブロックされている場合(サーバ側の設定の問題)
「TCPWrappers(hosts.deny)」でブロックされている場合になります。
「TCPWrappers」とは、ネットワークを利用した接続の許可・許否を判断し、接続制御(制限)を行います。
「新しい接続」画面から「ホスト」欄に、接続先のホスト情報(ホスト名・IPアドレス等)を入力し「OK」ボタンを押すと・・・
「SSH認証」の画面が表示されます。「ユーザ名」「パスフレーズ」を入力し「OK」を押すものの、何の反応もありませんでした。
*ブログアップ前に動作を再確認した所、「OK」ボタンは押せて、画面が「未接続」の状態で変わらない状態になりました。(昨日までは「OK」が押せなかったのですが、原因は不明です・・・)
接続先ポート番号が間違っている場合(クライアント設定の問題)
最近流行のVPSとかで、セキュリティ向上のために、SSHサービスの待ち受けポートを変更している場合があります。その場合「TCPポート」欄を変更しないといけないのですが、デフォルトの「22」のまま接続すると・・・
「接続中」の画面(画像左)が表示されますが、コンソール上には何も表示されません。しばらくすると「Tera Term:エラー / ホストに接続できません」のポップアップ(画像右)が表示されました。
ご覧の通り「iptables(簡易ファイアーウォール)」でブロックされいるのと同じ結果になりました。ちょっと判別が難しいかもしれませんね。
公開鍵認証しか受け付けないサーバにパスワード認証で接続
最後におまけで、公開鍵認証でしか接続できないように設定しているサーバに、パスワード認証でのログインを試みてみました。
「認証に失敗しました。再試行してください」のメッセージと共に、「RSA/DSA/ECDSA/ED25519鍵を使う」がチェックされました。
この動作だと、このサーバは「公開鍵認証」しか受け付けていないのかもと、判断できるかもしれませんね。
おわりに
今回6種類のSSH接続が出来ないパターンをご紹介しました。(こんなパターンはどうなの?っていうのがありましたら是非コメント願います!)
接続するOSの種類やサーバ等の環境によって、これとはまた違った表示・動作等があるかもしれませんが、まあ何かの参考にでもなれば幸いです。