SSH密钥从USB闪存驱动器中获取

我有几台台式机,几台笔记本电脑和一台上网本。其中一些设备仍在运行Windows。我使用这些机器连接到我的项目托管在Launchpad上。我开始占用Launchpad上的SSH密钥部分,所以我想知道 - 如果SSH(私钥)与我相关联,那么我应该只有一个身份,对吗?
我知道这里可能会引发宗教战争,但我想知道是否可以做类似于以下的事情:我想知道是否可以创建一个USB存储设备,里面直接安装了我的证书。这样,当我在不同设备之间移动时,我只需要插入USB存储设备,输入密码短语,然后就可以开始使用了。我还可以将Putty和PuttyAgent等(便携版?)放在其中,以便在Windows机器上运行。
这将把SSH密钥数量减少到1个 - 代表我,而不是
- 在Windows笔记本电脑上的我 - 在同一笔记本电脑上的Ubuntu会话中的我 - 在上网本上的我 - 在台式机上的我"等等...

2是的,这是可能的。请记住,PuTTY私钥文件(PPK)与OpenSSH的格式不同。它们可以包含相同的密钥,但需要是不同的文件。然后只需告诉每台机器从USB密钥中读取(在Linux上使用符号链接,在Windows上适当配置Pageant)。实际上,无需使用USB - 如果您的密钥受到密码保护,只需将其复制到每台机器即可。 - Aaron D
2个回答

是的,但不适用于FAT文件系统。ssh只会使用权限设置为400或600的私钥,但FAT并不真正允许这样做。
为了解决这个问题,我在我的USB键上创建了几个分区。这样我就有一个Linux分区用于存放我的OpenSSH密钥,还有一个FAT分区用于存放我的PuTTY密钥。然后我可以使用ssh-add/pageant加载适当的密钥,并且无需指定密钥位置即可连接。

这是一个相当老的问题,但也许了解以下信息会有所帮助: a)Windows 10 的新版本已经默认启用了 SSH 服务器。 b)在 Windows 上将 U 盘格式化为 NTFS(无需分区),SSH 密钥可以在 Windows 和 Linux 上都正常使用。