-i identity_file
Selects a file from which the identity (private key) for
public key authentication is read. The default is ~/.ssh/identity
for protocol version 1, and ~/.ssh/id_dsa, ~/.ssh/id_ecdsa,
~/.ssh/id_ed25519 and ~/.ssh/id_rsa for protocol version 2.
Identity files may also be specified on a per-host basis in the
configuration file. It is possible to have multiple -i options
(and multiple identities specified in configuration files). ...
不,你误会了。一个文件中只存储了一个私钥。如果要使用多个不同的密钥对,请为它们使用不同的名称。
ssh迭代多个文件名。其中还有~/.ssh/id_rsa。摘自man ssh:创建配置文件以对不同的服务器使用不同的密钥。它通常位于
~/.ssh/config. 阅读man ssh_config。如果我没记错的话,这
~/.ssh/id_rsa是你的私钥。也就是说,在它上面你可以连接到其他电脑。例如,~/.ssh/id_rsa.pub如果你将它复制到一个文件夹中,然后将它写入另一台机器~/.ssh/authorized_keys,那么使用该命令ssh -i ~/.ssh/id_rsa ip你可以不使用密码登录。也就是说,只有您的私钥存储在此文件中,您可以通过该文件与其他 PC 进行通信
ssh我想添加到已经存在的答案。
一般来说,一个文件夹
%userprofile%/.ssh可以包含多个公钥和多个私钥。但要注意。为了在通过 ssh 连接到服务器时通过密钥进行授权,您的公钥必须复制到服务器。
我建议在与服务器的会话期间,服务器说“我有这个用户的这样一个公钥,好吧,看,你有正确的私人部分吗?” - 然后您的计算机已经进入
%userprofile%/.ssh,在那里找到密钥的公共部分,找到使用它的私有部分并检查公钥是否正确。这结束了我对所问问题的想法:-)
而现在 - 正是这样一个有趣的事实:在某些情况下,不需要密钥的公共部分。它可以从私有部分生成。确实,在我看来(如果我错了,请纠正我),在不同的情况下,从同一个私人部分,一般来说,可以生成不同的公共部分。
这是我在此线程上遇到的第一个链接:
“当通过密钥使用 ssh 授权时,有时会发生由于覆盖或删除,密钥的公共部分丢失 - id_dsa.pub(或 id_rsa.pub,分别)。但是,密钥的私有部分可用,您可以只使用一个命令来恢复公共的。
动态搜索广告:
RSA: