【发布时间】:2015-06-17 12:04:10
【问题描述】:
我需要将我的 SSH 公钥发送给我的一位客户,但我不太确定如何执行此操作。我已经在我的计算机上创建了一个 SSH 密钥对,但现在我卡住了。
【问题讨论】:
-
通常,您会通过您认为安全的渠道发送重要公钥。例如,您使用 usb 棒 亲自给它并检查校验和是否仍然正确,这样也没有人篡改 usb 棒。
标签: file ssh send ssh-keys public-key
我需要将我的 SSH 公钥发送给我的一位客户,但我不太确定如何执行此操作。我已经在我的计算机上创建了一个 SSH 密钥对,但现在我卡住了。
【问题讨论】:
标签: file ssh send ssh-keys public-key
如果您生成了一个密钥对,您应该有两个文件 id_rsa 和 id_rsa.pub(请注意,如果您指定了 id_rsa,它可能会被替换为其他名称)。
公钥(即*.pub 文件)是要共享的,因此您应该将其发送给客户。
但是请注意,尽管此文件是公开的,但您的客户收到您生成的文件也很重要。如果有人要修改文件,他们可能会冒充您的服务器,这意味着存在安全问题。因此,由您决定共享此文件的安全介质:这可能是手到手的物理 USB 密钥、安全消息服务或您与客户之间的任何其他安全通信渠道。
【讨论】:
这已经晚了,但如果您使用的是基于 unix 的系统,那么发送隐藏文件可能会更容易。
只要做:
pbcopy < ~/.ssh/id_rsa.pub
这会将您的公钥复制到剪贴板。因此,基本上只需在要粘贴密钥以发送密钥的任何位置粘贴即可。
【讨论】:
pbcopy 是仅适用于 Mac 的工具,该问题没有具体提及正在使用的 Mac。
cat ~/.ssh/id_rsa.pub | wl-copy
默认情况下,您在 Unix/Linux/OS X 上的 SSH 公钥位于您的 HOME 目录中的 .ssh/ 文件夹中的 id_rsa.pub 文件中。因此,您可以毫无问题地发送该文件,因为您的私钥在 id_rsa 中,因此您的凭据不会暴露。
所以基本上要么发送~/.ssh/id_rsa.pub文件,要么在终端执行:
ssh-add -L
命令并复制打印的行,以便您可以粘贴到您的电子邮件中。
【讨论】:
它是一个公钥,所以理论上你使用的频道不必加密。
然而,它必须是防止潜在攻击者篡改密钥/消息的通道。在最坏的情况下,攻击者可能会用他自己的公钥替换您的公钥,从而有可能代替您获得访问权限。
所以在实践中,最好还是使用加密通道。至少确保您的电子邮件客户端使用与邮件服务器的加密连接;并希望您的邮件服务器也使用加密连接进一步发送电子邮件。
【讨论】: