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

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

首先,如果这个问题已经被问过/回答过,我很抱歉——我已经搜索过,但也许我没有找到答案……

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

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

作为持续安全审查的一部分,我们还希望刷新配置中的公钥/私钥对。

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

我想这样做以便进行切换测试 - 但担心检查密钥的软件可能只会尝试每种类型之一(rsa / dsa?)然后拒绝连接方法并转到下一种类型的密钥。

希望这是一个简单的问题 - 如果我需要提供更多详细信息,请告诉我。

答案1

是的,您可以为单个用户拥有多个密钥对。在远程站点上,将所有公钥放入用户~/.ssh/authorized_keys文件中。

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

sftp [email protected] ...

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

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

使用新密钥。

答案2

如果这个问题是指*NIX系统,那么Iain的回答绝对是完美而全面的。

但是,如果是 Windows 服务器,情况会稍微不一致。事实上,并非所有 Windows 平台的 SSH 服务器都支持每个用户使用多个身份验证密钥。因此,如果您在 Windows 上运行 SSH/SFTP 服务器,请确保选择支持此功能的 SSH 服务器软件。

相关内容