SSH 密钥管理

SSH 密钥管理

我想使用所有基于密钥的身份验证来连接到多个服务器。其中一些 - 比如我的 VirtualBox 游乐场网络 - 密钥上没有密码,有些像我面向公众的密钥上有非常强的密码。在 2 个台式机系统、一台笔记本电脑和偶尔使用 live cd/dvd 之间,我需要某种方法来识别密钥(我有 7 个),并且如果我从旧操作系统启动,则能够将它们转移到新的操作系统活盘。

问题-

将密钥从某个源传输到我从实时映像启动的任何计算机(我们的一些实验室和教室是为 Mint 18 iso 的网络书设置的)并且没有我的文件的安全方法是什么在 USB 驱动器上进行运动鞋网络?

关于命名方案的任何提示都不是很糟糕(即主机名或函数 mail.example.com.id_rsa 或 webserver.id_rsa)?我一直在使用内部主机名(属性标签或 vmid),但我认为可能有更好的方法......

答案1

当你把私钥放到网上的那一刻,你就已经放弃了王国。

答案2

如果您不想随身携带所有钥匙,那么您唯一的选择就是远程存储它们。如果您有权访问服务器(或任何远程计算机),您可以将密钥存储在这台计算机上,使用密钥/密码访问这台计算机,然后检索您的其他凭据。

例如,如果您在 处有主密钥/media/storage/master.key,则可以使用复制远程密钥

rsync --rsh='ssh -i /media/storage/master.key' user@remote:/path/to/second.key /local/path

或者,您可以直接 ssh 到您的服务器,然后(从该服务器)ssh 到您的第二个服务器。甚至更简单,只需通过多个主机进行 ssh。后一个选项中的任何一个都具有仅将当前系统暴露给一个主密钥的额外优点。如果它曾经被泄露(并且你足够快),你只需要担心更改一个主密钥。

答案3

Linux Live CD/DVD 上的文件系统不可写入,创建的任何数据都存储在内存中,因此一旦会话结束就会消失。即使您可以创建 ssh 密钥并将其存储在内存中,您也必须在每次使用 Live Disc 时创建它。

实现您想要做的事情的更好方法是将其安装到 USB 闪存驱动器并对其进行加密。这样,文件系统将是可写的并且更改将是持久的。您只需创建连接到服务器的密钥即可随时使用闪存驱动器。它将像安装了 Linux 的便携式计算机一样运行。

答案4

我不确定我是否理解了这个问题,但这里有一个初步的答案:

移动私钥始终是一个敏感问题。理想情况下你会想避免它。就协议而言,使用 SSH 是一个好的开始。您肯定还希望私钥有密码(意味着它们是加密的)。

如果您想知道如何将公钥移动到目标主机以登录......那么它们是公钥,因此不存在被捕获的风险。cat <file> | nc <host>:<port>-->nc -l -p <port> > .ssh/id_rsa.pub只有 1 个选项。

很难为命名方案提供建议。这是一个意见问题。不过,不要费心去混淆这些名字,你不会得到任何东西。

相关内容