まだプログラマーですが何か?

プログラマーネタとアスリートネタ中心。たまに作成したウェブサービス関連の話も http://twitter.com/dotnsf

タグ:ssh

最近のクラウド環境では、初期状態で SSH(22) のみファイアウォールを通す設定になっているケースが一般的です。HTTP(80) を通したい場合は別途設定が必要ですが、SSH だけは無条件に使える設定になっている、という意味です。まあ HTTP サーバーを導入するにしても SSH が使えると便利ですよね。

この SSH サーバーの動作ポート番号を 22 番から別の番号へ変更したい場合の設定は /etc/ssh/sshd_config を変更します:
#Port=22
となっている箇所のコメントを外して、例えば
Port=10022
のように変更します。これで再起動すると SSH(SFTP) は 10022 番ポートで稼働します。










 

CentOS 6 で KVM 環境を構築し、自宅で「ドメスティッククラウド」とでも表現するような環境を使っています。

当然、仮想サーバーも自由に作ったり壊したり・・・なんですが、最近になって「CentOS 6 への SSH 接続にやけに時間がかかる」のが気になってました。

症状としては、「SSH で接続しに行くと、パスワードを聞かれるプロンプトが表示されるまでにやけに時間がかかる」というものです。パスワード入力画面がなかなか出ないので先に進めず、体感的に1~2分程度してから表示されて、そこでようやくログインできる、というものです。
2015010600


実際には結構待つことになり、かといってパスワードプロンプトが表示されるまで放っておこうとすると、今度は表示されたことに気付かずに更にしばらく時間が経過してしまい、パスワードを入力してもタイムアウトでログインできない、なんてことも起こってしまいます。


これ、原因は1つではないのですが、自分の場合はどこかのタイミングで SSH の GSSAPI 認証が有効になってしまっていて、それが原因で余計な処理がサーバー側で動いてしまい、 パスワードプロンプトが表示されるまでに時間がかかっていたようでした。

これを回避するにはそのサーバーに root 権限でアクセスして、/etc/ssh/sshd_config ファイルを開いて、GSSAPIAuthentication を off に設定し、最後に sshd を再起動します。これで解決:
# vi /etc/ssh/sshd_config

  :
  :
GSSAPIAuthentication no (yesになっていたらnoに変更して保存する)
  :
  :

# /etc/init.d/sshd restart



このページのトップヘ