首先,如果这个问题已经被问过/回答过,我很抱歉——我已经搜索过,但也许我没有找到答案……
我们有一组服务器,需要使用 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 服务器软件。