ssh:特定のホストに対して無効なX11転送が機能しないのはなぜですか?

ssh:特定のホストに対して無効なX11転送が機能しないのはなぜですか?

SSHエイリアスを使用

alias ssh
alias ssh='ssh -t -K -Y

私はSSHを使ってX11を渡したかったです(ホストを除く)。それで、次のようにしました。

vim .ssh/config

host myhost
   port 22
   ForwardX11 no
   HostkeyAlgorithms +ssh-rsa
   PubkeyAcceptedAlgorithms +ssh-rsa

しかし..

ssh myhost 
sh: xauth: command not found
myuser@myhost$ 

私のオプションは無視されるようです。

私も試しました

   ForwardX11 no
   ForwardX11trusted no

しかし、成功しませんでした。

解決策はこれだったかもしれません...

\ssh myhost

したがって、-t -K -y は無視されますが、よりきれいな解決策を好みます。

忘れました:リモートサーバーはdropbearを使用します

読むこのページサーバーの特定のキーに対してX11を無効にできることがわかりました。

vim .ssh/authorized_keys

no-X11-forwarding ssh-rsa......

しかし、この場合、\ sshコマンドも拒否されます!

ssh myhost
X11 forwarding request failed on channel 0
Connection to myhost closed by remote host.
Connection to myhost closed.

\ssh myhost 
Connection to myhost closed by remote host.
Connection to myhost closed.

サーバーでこの行を使用すると機能しますが、pubkeyには使用できないため、パスワードが必要です。

no-agent -forwarding, no-port-forwarding, no-x11-forwarding ssh-rsa....

ベストアンサー1

予備説明

あなたがタグ付けしましたしかし、SSHは疑わしいです。顧客sshDropbearで(あなたが実際にそうするかどうか疑問です。あなたが使用したすべてのオプションもサポートしていないdbclientようです)。dbclientしたがって、この回答はOpenSSH SSHクライアントの動作を調べます。

(私は個人的に、すべてのクライアントが質問に関連する点でOpenSSHの動作を複製することを期待しています。要点は、OpenSSHがSSH実装のための事実上の標準であることです。)


分析する

~からman 5 ssh_config:

ssh(1)次のソースから次の順序で構成データを取得します。

  1. コマンドラインオプション
  2. ユーザープロファイル(~/.ssh/config
  3. システム全体の構成ファイル(/etc/ssh/ssh_config

各パラメータに対して最初に取得された値が使用されます。 [… ]

エイリアスを使用すると、ssh -Y設定ファイルで無視されますssh。コマンドラインオプションを使用します。ForwardX11 no構成ファイルのオプションを機能させるには、反対のコマンドラインオプションを使用しないでください。コマンドラインオプションが最初に重要です。それがすべてです。


解決策

あなたは次のように書きました:

1つのホストを除いてSSHを使用してX11を渡したい

エイリアスとして実行するのではなく、設定ファイルに実装してください。

host myhost
   ForwardX11 no

host *
   ForwardX11 yes
   ForwardX11Trusted yes

マニュアルの指示を参照してください。

各パラメータで最初に取得した値を使用するため、ファイルの先頭にはより多くのホスト固有の宣言を提供し、最後に一般的なデフォルト値を提供する必要があります。

つまり、上記の例とまったくhost myhost同じでなければならず、その逆ではありません。host *

おすすめ記事