ssh上的 Linux 手册页说关于基于主机的身份验证工作,据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 服务器的主机密钥。
因此,在从中读取身份私钥的基于密钥的身份验证中~/.ssh/id_rsa
,~/.ssh/id_dsa
我如何强制在基于主机的身份验证中仅使用密钥在不同位置查找密钥~/.ssh/known_hosts
。
在基于密钥的身份验证中。我们可以使用 指向不同的位置ssh -i /new/path/to/id_rsa <server IP>
,并且想知道使用基于主机的身份验证如何可行。
提前致谢!
您
known_hosts
的 ssh 客户端使用您的文件来验证您正在连接的远程主机的身份。在基于主机的身份验证中,远程known_hosts
服务器需要验证您的客户端主机的身份,这与您的本地文件无关。/etc/ssh/ssh_host_rsa_key
您的主机密钥来自/etc/ssh
. 您可以使用 中的HostKey
指令设置主机密钥的位置/etc/ssh/sshd_config
。请注意,这不能为每个连接设置。这是标识您的主机的凭证。
使用基于主机的身份验证是不可行的。基于主机的身份验证依赖于
ssh-keysign
主机密钥的硬编码位置。特别是对于 openssh-6.2p1,在 ssh-keysign.c 中有: