セッションの開始時にSSHが遅い


8

SSHを介してインタラクティブシェルを起動すると、サーバーの1つが遅くなります。暗号化のネゴシエーションを含む、それまでのすべてが高速ですが、45秒間ハングします。その後、それは終了し、私はシェルを持っています。何がかかっているのかをどのようにして特定しますか?私は環境をクリアし、それが遅くなっている場合に備えてすべての転送を無効にしてみましたが、それは助けにはなりませんでした。これが私のテストコマンドです:

env -i ssh -x -a -vvv server

SSHからの出力は次のとおりです。

debug1: channel 0: new [client-session]
debug3: ssh_session2_open: channel_new: 0
debug2: channel 0: send open
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
*(hangs for 45 seconds here)*
debug3: Wrote 128 bytes for a total of 3191
debug2: callback start
debug2: client_session2_setup: id 0
debug2: channel 0: request pty-req confirm 1
debug1: Sending environment.


@forcefsck投稿に関連性があるとは思いません。私の最初の接続は高速で、キーは交換され、認証は高速で、上記の投稿のようにパスワードプロンプトで待機する必要はありません。また、フォワードDNSとリバースDNSはすべてこの時点で完了するはずです。また、この問題は上記の投稿のように断続的ではなく、毎回発生します。上記で投稿した詳細出力は、認証成功メッセージの直後に開始されます。それは、bashやpamセッションモジュールの起動が遅いことに沿っていると思います。
ペンギン359

非インタラクティブセッションにも遅延はありますか?接続がアクティブなときに2番目の接続を開始すると、遅延がありますか?どの認証方法を使用していますか?ログイン時にホームディレクトリが何らかの方法(リモートまたは暗号化)で自動マウントされていますか?pamモジュールはカルプリントである可能性がありますが、何を持っていますか/etc/pam.d/sshd(またはシステムで呼び出されています)?サーバーログにアクセスできる場合、関連するものはありますか?
Gilles「SO-悪をやめなさい」

@ギレスはい、リモートコマンド、scp、sftpに影響を与えるようです。2つの個別のSSH接続を意味する場合、両方とも低速です。同じ制御ソケットを介して2番目のセッションを開始するつもりなら、私はそれを試してみただけで高速ですが、.Xauthorityをロックするxauthの失敗に関する警告が表示されます。私はキーボードインタラクティブ、公開鍵、ホストベースからgssapi-keyexまで何でも使用します。速度は少し異なりますが、認証は常に高速です。ホームディレクトリはサーバーに対してローカルであり、暗号化されていません。PAMは基本的にUbuntuのデフォルト+ pam_krb5.soがインストールされています。
ペンギン359

あなたは「私のサーバーの1つに遅い」と言います。他のマシンにsshすると、正常に動作しますか?これは、ローカルにログインしているホームマシンからのものですか?ローカルとリモートのOS(バージョンを含む)は何ですか?また、サーバーからホームマシンへのsshは正常ですか?別のユーザー(ローカルとリモートの両方)としてのsshは何か違いがありますか?
Faheem Mitha、2011

回答:


6

非常に似たケースでは、それはupdate-motdスクリプトの1つでした。

次はトリックをしました:

sudo rm /etc/update-motd.d/90-updates-available

次に、各スクリプトの時間を測定する小さなヘルパーを示します。

$ for f in /etc/update-motd.d/*;do echo $f;time $f;done
/etc/update-motd.d/00-header            0m0.007s
/etc/update-motd.d/10-help-text         0m0.005s
/etc/update-motd.d/90-updates-available 0m49.163s
/etc/update-motd.d/91-release-upgrade   0m0.152s
/etc/update-motd.d/98-fsck-at-reboot    0m0.015s
/etc/update-motd.d/98-reboot-required   0m0.003s
(output reduced to the relevant parts)

ありがとう!ほとんどの人はDNSをオフにすることを勧めていますが、私のsshログインはまだ遅くなっていました。ログインプロセスを詳しく調べ始めたところ、回答から/etc/update-motd.d/50-landscape-sysinfoが指摘されましたが、これは遅いようです。
Rennex 2016年

1
これは本当に役に立ちます-私にとってキラーはでした50-landscape-sysinfo。そして、fyi、あなたはchmod -x /etc/update-motd.d/90-updates-availableそれを完全に削除するのではなく、単にログイン時に実行されないようにすることができます。
ビリーノア2018

3

pam_krb5.soは、SSHだけでなく、そのモジュールを使用した認証を停止する30秒のタイムアウトがあった存在しないシェルのAFSトークンを取得するように構成されていました。これを削除すると、認証がはるかに速く行われます。


2

あなたのSSHサーバが起動し、DNSの逆マッピングを持っている場合、それはのための遅延、見た目の原因である可能性がありますVerifyReverseMapping/etc/ssh/sshd_config、サーバーのファイル。


1
認証が成功する前に逆DNSマッピングが発生すると思っていましたが、テストします。
ペンギン359

UseDNSのことだと思いますが、VerifyReverseMappingで非推奨の警告を受けました。とにかく、私は両方をnoに設定しましたが、役に立ちませんでした。私は逆マッピングが正しいことを確認し、ホストがクライアントのホスト名をAレコードにマップし、問題なく再び戻ることができるように注意を払っています。
ペンギン359

0

私は同じ問題を抱えていましたが、どうやら別の原因が原因であると思われます。ソリューション:

/etc/ssh/sshd_config:
#UsePAM yes

そして:

sudo /etc/init.d/ssh stop;sudo /etc/init.d/ssh start;
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.