web-dev-qa-db-ja.com

SSH-1sが「Entering interactive session」で停止する(DNSではなく、おそらくSELinux関連)

CentOS 6.7で、SSHログインがこのネットワーク上の6.7以外のマシン(7.2、5.11など)よりも1秒多いという問題が発生しています。クライアント側でデバッグを実行すると、「対話型セッションに入る」でハングすることがわかりました。

このテストのベースにするために使用しているコマンドは、SSHキーを使用したラップトップからのtime ssh <Host> trueです。

私がすでにチェック/変更した2つのものはUseDNSGSSAPIAuthenticationであり、両方とも無効になっています。

デバッグをオンにして別のポートで別のデーモンを起動しましたが、ショートハングが発生する場所を見つけました。

debug1: SELinux support enabled
debug3: ssh_selinux_setup_exec_context: setting execution context

{1s hang}

debug3: ssh_selinux_setup_exec_context: done

SELinuxは「permissive」に設定されています。なぜ「コンテキストの設定」に悩まされるのかわかりません。 SELinuxを完全に無効にすることなく、これら2つをうまくやり遂げる方法はありますか?私は1はそれほど多くないことを理解していますが、この特定のマシンをIPホワイトリストを持つホストへのSSHゲートウェイとして使用します(これは静的IPマシンです)。

Straceを実行した後、ハングはもう少し細かくなります。

22:16:05.445032 open("/selinux/user", O_RDWR|O_LARGEFILE) = 4 <0.000090>
22:16:05.445235 write(4, "unconfined_u:system_r:sshd_t:s0-s0:c0.c1023 unconfined_u", 56) = 56 <0.334742>
22:16:05.780128 read(4, "18\0unconfined_u:system_r:prelink_mask_t:s0-s0:c0.c1023\0unconfined_u:system_r:unconfined_mount_t:s0-s0:c0.c1023\0unconfined_u:system_r:abrt_helper_t:s0-s0:c0.c1023\0unconfined_u:system_r:oddjob_mkhomedir_t:s0-s0:c0.c1023\0unconfined_u:system_r:unconfined_notrans_t:s0-s0:c0.c1023\0unconfined_u:system_r:unconfined_execmem_t:s0-s0:c0.c1023\0unconfined_u:system_r:unconfined_Java_t:s0-s0:c0.c1023\0unconfined_u:system_r:unconfined_mono_t:s0-s0:c0.c1023\0unconfined_u:system_r:chkpwd_t:s0-s0:c0.c1023\0unconfined_u:system_r:passwd_t:s0-s0:c0.c1023\0unconfined_u:system_r:updpwd_t:s0-s0:c0.c1023\0unconfined_u:system_r:mount_t:s0-s0:c0.c1023\0unconfined_u:system_r:rssh_t:s0-s0:c0.c1023\0unconfined_u:system_r:xauth_t:s0-s0:c0.c1023\0unconfined_u:system_r:unconfined_t:s0-s0:c0.c1023\0unconfined_u:system_r:openshift_t:s0-s0:c0.c1023\0unconfined_u:unconfined_r:oddjob_mkhomedir_t:s0-s0:c0.c1023\0unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023\0", 4095) = 929 <0.000079>

/selinux/userへの書き込みは350msだけかかります。

更新1-私が試したもの

  • 更新しています。ボックスの多くは更新が必要でした。これは、ログイン時間に重大な影響を及ぼしていません。
  • semodule -d unconfined -これはプラスの効果があり、ログイン時間が約500ミリ秒短縮されました。ただし、私のC7ボックスとC5.11ボックス((再)学習してからSELinuxが無効になっている)平均で約525ミリ秒
  • 私のC6.7マシンの比較-64ビットボックスの方が32ビットボックスより速いことがわかりました。たぶん、これは一部の人にとっては「当たり前」の瞬間ですが、これらのボックスはどれも特に課税されていないため、100〜300ミリ秒の変動は予想していませんでした。 64ビットホストの1つで1秒マーク(850ミリ秒)を破ることができました。 32ビットの最低値は1.085秒です。

頼みすぎ? selinux-permissiveマシンのログイン時間は10-1200msですか?他の人のベンチマークが何であるか興味があります。

9
Morgon

これは関連していない可能性がありますが、selinux関連の遅延がIPAベースのアカウントで報告されています https://access.redhat.com/discussions/3499951

その場合の解決策は次のとおりです。

SSSDとIPAのユーザーフォーラムを調べましたが、システムがSELINUXを使用していないため、先に進み、これをsssd構成のドメインセクションに追加しました。

selinux_provider=none

この後、予想どおり、ログインプロセスはすぐに実行されます。

1
chutz