セキュリティレベルの低いサーバーへの接続を完全に拒否するのではなく、OpenSSHクライアントを要求するように構成できますか? [コピー]

セキュリティレベルの低いサーバーへの接続を完全に拒否するのではなく、OpenSSHクライアントを要求するように構成できますか? [コピー]

これはニュースです。パテ/キティ次を介して接続すると生成されますSSH既存のBuffalo WHR-HP-G54Nルーターの場合:

サーバーがサポートする最初の鍵交換アルゴリズムは、設定された警告しきい値より低い[Whatever]です。この接続を続行しますか?

特定のアルゴリズムを許可するようにOpenSSHクライアントを設定する方法を知っていますが、同等の(そして快適な)動作を得る簡単な方法はありますか?

編集01:この質問が「低セキュリティサーバー」(したがって具体的ではない)について尋ねられている限り、特定のアルゴリズムに焦点を当てた答えを避けるために、メッセージボックスを[何でも]として読むように編集しました。

答え1

状況に応じて、この問題を解決するには2つの方法があります。つまり、快適さは明らかに安全を犠牲にして発生します。ただし、このようなルータを使用するとオプションが制限されます。

このパッケージを使用openssh-client-ssh1すると、廃止予定のSSH v1プロトコルに接続できます。ただし、明らかにクライアントを使用するたびにinを代わりに使用する必要がありますssh1sshしかし、支払うには小さな対価です。

エイリアスを生成できるシェルを使用している場合は、特定の問題に対して次のことを実行できます(SSH v2のようです)。

alias SSH-insecure='ssh -o KexAlgorithms=+diffie-hellman-group1-sha1'

しばらく前に、私は古いLinuxベースのデバイスを処理する必要があり、IPが変わり続けるので、2つのオプションを追加しました。

 -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null

…でもYMMVなので常識的に判断して決めてください。

IPアドレスおよび/または名前が固定されている場合、他のオプションはHostファイルに一致するセクションを作成して上記の~/.ssh/configオプションを挿入することです。引用するSSH_config(5)

答え2

OpenSSHには、ユーザーに対話的に聞くことができるこのような機能はありません。

~/.ssh/config最善の方法は、このキー交換を使用するホストと一致するスタンザを作成し、追加する必要があるサーバーを見つけるたびに更新することです。

それはこれです。

Host old-machine-1 old-machine-2
KexAlgorithms +diffie-hellman-group1-sha1
IdentityFile ~/.ssh/id_rsa

IdentityFile(たとえば、多くの古いシステムがED25519を処理できないため、この設定を表示しました。)

関連情報