ssh、-X、または-Yを使用する方が良いですか?

ssh、-X、または-Yを使用する方が良いですか?

簡単な質問:安全のために使用する方が安全ssh -Xですかssh -Y?私が知る限り、ssh -YはX11Trustedなので、何も制御しないので、セキュリティ上の理由から-Xを使用することをお勧めします。どう思いますか? -Xオプションを使用すると、ターゲットコンピュータでsshを実行するとこのメッセージが表示されるため、通常は-Yを使用します。

Warning: untrusted X11 forwarding setup failed: xauth key data not generated

LANを介してマシンを接続します。

答え1

私はそれについて自分で答えます。たぶん、このssh -Xオプションはより安全です。これは、ssh(パスワード、kerberos、または公開鍵)認証とx11(xauth、xhost)認証の2種類の認証が必要なためです。いわゆる「信頼できる」を使用すると、ssh -Yホストを信頼してX11認証をバイパスするため、xhostコマンドを使用する必要はありません。私の考えはより安全ですssh -X。唯一の問題があります。最新バージョンのsshを使用すると、私がしていた問題が発生しているようです。

\ssh -vvv  -X myhost

これら2つのエラーが発生しました。

Warning: untrusted X11 forwarding setup failed: xauth key data not generated

debug2: client_x11_get_proto: xauth command: /usr/bin/xauth -f /tmp/ssh-KYHfkmGN25fa/xauthfile generate :0.0 MIT-MAGIC-COOKIE-1 untrusted timeout 1260 2>/dev/null

xauth コマンドを直接実行しようとすると、このエラーが発生します。

/usr/bin/xauth -f /tmp/ssh-KYHfkmGN25fa/xauthfile generate :0.0 MIT-MAGIC-COOKIE-1 untrusted timeout 1260 
/usr/bin/xauth:  error in locking authority file /tmp/ssh-KYHfkmGN25fa/xauthfile

回避策:ssh_configを編集し、次の行を有効にします。

Host *
    ForwardAgent yes
    ForwardX11 yes
    ForwardX11Trusted yes

ssh -Xは正常に動作しますが、アクセスを無効にしようとすると問題は1つだけです。

xhost -

そして、ssh -Xを実行すると、まだホストが許可されます!それで、ForwardX11Trusted yesがForwardX11 yesよりも優先されると思います。

SSH_configの編集

Host *
    ForwardAgent yes
    ForwardX11 yes
    ForwardX11Trusted no

ssh -X が動作しません。したがって、質問はまだ開いています。

答え2

SSHオプションは-XX11転送を有効にし、-Y信頼できるX11転送を有効にします。後者はSECURITY拡張セキュリティ制御の対象にはなりません。

理想的には、これを使用して-Xセキュリティを強化できます。ただし、OpenSSHのDebianバージョンを使用している場合は、-Xマニュアルページに次のオプションがあります。

Debian関連:デフォルトでは、X11転送はX11 SECURITY拡張によって制限されません。現在このモードでは、あまりにも多くのプログラムがクラッシュしているためです。アップストリームの動作を復元するには、ForwardX11Trusted オプションを「no」に設定します。これは将来のクライアントの改善に応じて変更される可能性があります。

したがって、信頼できる転送を無効にすることは実用的なオプションではなく、プログラムを実際に実行するには信頼できる転送を使用する必要があります。 Debian では、すべてのシステムでこれを-X行います。-Y

関連情報