同一用户的多个公钥/私钥对

首先,对不起,如果这个问题已经被问到/回答 – 我已经搜查,但也许我没有认识到答案….

我们所拥有的是一组需要使用sftp访问单个远程服务器的服务器。

我们正在从一个远程服务器迁移到另一个远程位置。

我们还希望刷新configuration上的公钥/私钥对,作为正在进行的安全审查的一部分。

我的问题是 – 我们可以在服务器A和服务器B之间为同一个用户有多个公钥/私钥对吗?

我想这样做是为了允许进行转换testing – 但是担心在拒绝连接方法并转移到下一个types的密钥之前,软件检查密钥只能尝试每种types之一(rsa / dsa?)。

希望这是一个直截了当的问题 – 请让我知道,如果我需要提供更多的细节。

是的,你可以有一个用户的多个密钥对。 在远程站点上把所有的公钥放在~/.ssh/authorized_keys文件中。

在本地站点上将每个私钥放在单独的文件中,然后使用-o IdentityFile=/path/to/privatekeyfile来指定要使用的私钥。 你可以使用

 sftp [email protected] ... 

使用默认(当前?)私钥和

 sftp -o IdentityFile=/home/user/.ssh/usernewkey [email protected] ... 

使用新的密钥。

如果这个问题涉及一个* NIX系统,那么Iain的答案是绝对完善和全面的。

但是,如果它是Windows服务器,则会出现稍微不一致的情况。 事实上,并非所有用于Windows平台的SSH服务器都支持每个用户的多个validation密钥。 因此,如果你在Windows上运行你的SSH / SFTP服务器,只要确保你select了一个支持这个function的SSH服务器软件。