変なケースを満足させようとしていますので、ご容赦ください。
signedOpenSSHキーを使用して、グラフィカルなWindowsツール(WinSCP、PuTTYなど)を使用します。これらのツール 署名付きキーはサポートしていません 。しかし、それらは多くの「転送」および「プロキシ」メソッドをサポートしています。
OpenSSHコマンドを実際に実行する「ローカルプロキシ」を使用してそれらを設定できます同じサーバーに署名されたキーを使用して、トンネルをセットアップします:ローカルポート2222
はサーバーの127.0.0.1:22
に転送します
これで、Windowsツールはalready-authenticatedトンネルを介してssh/scp
コマンドを実行できるようになりました...しかし、最初に試行するのは:sshを開いて認証します(署名された鍵を渡すことはできません...)。
したがって、トンネルですでに認証されているので、リモートマシンのsshサーバーを[〜#〜] not [〜#〜]に設定することはできますか。パスワードもキーも、接続試行が127.0.0.1:22を超えて行われた場合
私が「リモート」に到達するための「ジャンプ」サーバーについて話しているのではないことに注意してください。 「リモート」サーバーは1つしかありません。
TL; DR:
Ubuntuサーバーでssh [email protected]
を実行したいのですが、キーやパスワードの入力を求められませんが、要求が127.0.0.1からのものである場合のみです。
次の行を追加することで、ユーザーに空のパスワードを設定し、ローカルホストからの空のパスワードによる認証を許可できます (top ファイルの/etc/ssh/sshd_config
:
Match Address 127.0.0.*
PermitEmptyPasswords yes
その OpenSSHに "none"認証を受け入れさせる :
使用可能な認証方法は、「gssapi-with-mic」、「hostbased」、「keyboard-interactive」、「none」(
PermitEmptyPasswords
が有効な場合にパスワードなしのアカウントへのアクセスに使用)、「password」です。および「公開鍵」。
WinSCPとPuTTYは「なし」の認証を自動的に試行します。したがって、彼らは(空の)パスワードを要求するべきではありません。
私のソリューションの簡略化を提案してくれた@ pa4080に感謝します。
一致アドレス127.0.0。* PermitEmptyPasswordsはい
これをsshd構成ファイルの先頭に置くと、OpenSSHサーバーがクラッシュし(Ubuntu 19.04)、再起動後に回復しません。これをファイルの下部に配置するのが指定されたメソッドです(ファイルの下部にあるコメント化されたセクションを参照してください)。
以下の参考文献からの引用:
Match行のすべての基準が満たされた場合、次の行のキーワードは、別のMatch行またはファイルの終わりまで、構成ファイルのグローバルセクションで設定されたキーワードを上書きします。<<
リファレンス: https://man.openbsd.org/sshd_config#AuthenticationMethods