SSH 权威指南说
OpenSSH 维护一个服务于服务器身份验证和客户端身份验证的单一数据库。它是系统的known_hosts 文件 ( ) 与源计算机(用于服务器身份验证)或目标计算机(用于身份验证)上的
/etc/ssh/ssh_known_hosts
用户文件的并集。~/.ssh/known_hosts
客户端认证)。
如何/etc/ssh/ssh_known_hosts
以及 如何~/.ssh/known_hosts
用于客户端身份验证?
根据https://security.stackexchange.com/a/20710/,我认为/etc/ssh/ssh_known_hosts
和 ~/.ssh/known_hosts
仅用于服务器身份验证,并且~/.ssh/authorized_keys
仅用于用户身份验证。
“客户端身份验证”与“用户身份验证”含义相同吗?
谢谢。
答案1
在 ~/.ssh 中,您有几个文件(known_hosts、authorized_keys、id_rsa 和 id_rsa.pub)。
如果在机器 A 上您想以同一用户身份登录机器 B 而无需密码,您可以(即使不推荐)将机器 A id_rsa.pub 的内容复制到机器 B ~/.ssh/authorized_keys 中。这就是用户身份验证。
第一次登录机器 B 时,机器 A 会请求您信任它,然后它将机器 B 的公钥放在 ~/.ssh/known_hosts 中。即客户端身份验证,机器 A ssh 进程是机器 B sshd 服务的客户端。