在客户端上,在我执行 ssh-add 添加我的私钥后,一切正常,ssh-add -l
列出了密钥,并且我可以连接到具有相应公钥的主机,但是 .ssh 目录中没有任何变化。所以我的问题是:我如何找到存储所添加的私钥的目录ssh-add
?
答案1
ssh-add
不会在本地或远程磁盘上存储任何内容。此命令会将您的私钥加载到之前启动的 SSH 代理中,并要求输入一次密码。
SSH 代理仅将私钥保存在内存中。启动 SSH 客户端时,它会使用 SSH 代理中的私钥(无需再次询问私钥密码)向目标服务器进行身份验证。
该.ssh
目录将包含(在任何用户的主目录中):
authorized_keys
:允许用于连接此服务器的公钥列表config
:包含 SSH 客户端配置参数的可选文件- 您在此主机上为此用户生成的公钥和私钥。
known_hosts
:维护已连接到的主机列表以及哈希值,以检测主机密钥自上次以来是否已发生更改。
答案2
ssh-add
不应该改变任何东西~/.ssh
。它告诉ssh-agent
程序会添加哪些身份,ssh-agent
程序在询问密码后会将其存储在内存中。因此不存在这样的目录。
答案3
~/.ssh/id_rsa
本文向您展示如何生成上述路径的密钥。这不是我的文章:)