Linuxのmanページ ssh ホストベースの認証はSSH server must be able to verify the client's Host key (see the description of /etc/ssh/ssh_known_hosts and ~/.ssh/known_hosts, below) for login to be permitted.
として機能します。これは~/.ssh/known_hosts
にクライアントがアクセスするSSHサーバーのホストキーが含まれていることを理解しています。
ID秘密鍵が~/.ssh/id_rsa
と~/.ssh/id_dsa
から読み取られる鍵ベースの認証では、鍵~/.ssh/known_hosts
のみを使用して、ホストベースの認証で異なる場所にある鍵を強制的に検索するにはどうすればよいですか。
キーベースの認証。 ssh -i /new/path/to/id_rsa <server IP>
を使用して別の場所を指すことができ、ホストベースの認証でどのように実行可能かを知りたいと思います。
前もって感謝します!
known_hosts
ファイルは、接続先のリモートホストのIDを確認するためにsshクライアントによって使用されます。ホストベースの認証では、remoteサーバーはクライアントホストのIDを確認する必要があります。これは、ローカルのknown_hosts
ファイルとは関係ありません。
ホストキーは、/etc/ssh/ssh_Host_rsa_key
または/etc/ssh
内の他の同様の名前のファイルの1つから取得されます。 /etc/ssh/sshd_config
のHostKey
ディレクティブを使用して、ホストキーの場所を設定します。
これは設定できないことに注意してください接続ごと。これは、ホストを識別する資格情報です。
ホストベースの認証では実行できません。ホストベースの認証は、ホストキーの場所がハードコードされているssh-keysign
に依存しています。特に、openssh-6.2p1の場合、ssh-keysign.cには次のものがあります。
170 key_fd[i++] = open(_PATH_Host_DSA_KEY_FILE, O_RDONLY);
171 key_fd[i++] = open(_PATH_Host_ECDSA_KEY_FILE, O_RDONLY);
172 key_fd[i++] = open(_PATH_Host_RSA_KEY_FILE, O_RDONLY);