File 如何向某人发送我的SSH公钥?

File 如何向某人发送我的SSH公钥?,file,ssh,send,ssh-keys,public-key,File,Ssh,Send,Ssh Keys,Public Key,我需要将我的SSH公钥发送给我的一个客户,但我不太确定如何做到这一点。我已经在我的计算机上创建了一个SSH密钥对,但现在我被卡住了 如果您生成了密钥对,您应该有两个文件id\u rsa和id\u rsa.pub(请注意,如果您指定了id\u rsa,它可能会被其他名称替换) 您只需向客户发送扩展名为.pub的文件,它是一个公钥,因此从理论上讲,您使用的频道不必加密 然而,它必须是一个防止潜在攻击者篡改密钥/消息的通道。在最坏的情况下,攻击者可能会用自己的公钥替换您的公钥,从而有可能代替您获得访问

我需要将我的SSH公钥发送给我的一个客户,但我不太确定如何做到这一点。我已经在我的计算机上创建了一个SSH密钥对,但现在我被卡住了

如果您生成了密钥对,您应该有两个文件
id\u rsa
id\u rsa.pub
(请注意,如果您指定了id\u rsa,它可能会被其他名称替换)
您只需向客户发送扩展名为.pub的文件,它是一个公钥,因此从理论上讲,您使用的频道不必加密

然而,它必须是一个防止潜在攻击者篡改密钥/消息的通道。在最坏的情况下,攻击者可能会用自己的公钥替换您的公钥,从而有可能代替您获得访问权限


所以在实践中,最好还是使用加密通道。至少确保您的电子邮件客户端使用到邮件服务器的加密连接;并希望您的邮件服务器也使用加密连接进一步发送电子邮件。

默认情况下,Unix/Linux/OS X上的SSH公钥位于
.SSH/
文件夹中
id\u rsa.pub
文件中的主目录中。因此,您可以毫无问题地发送该文件,因为您的私钥位于
id\u rsa
中,因此您的凭据不会公开

因此,基本上要么发送
~/.ssh/id\u rsa.pub
文件,要么在终端中执行:

ssh-add -L

命令并复制打印的行,以便粘贴到电子邮件中。

这太晚了,但如果您使用的是基于unix的系统,则只发送隐藏文件可能会更容易

只要做:

pbcopy < ~/.ssh/id_rsa.pub
pbcopy<~/.ssh/id\u rsa.pub

这将把公钥复制到剪贴板。所以基本上只要在你想粘贴密钥的地方粘贴就可以了

嗯。所以只需通过电子邮件或其他方式发送该文件?因为它是一个公钥,不需要加密,它只允许验证您的私钥(不应公开共享),所以您可以通过电子邮件发送。Ok。最后一个问题。如果我想通过电子邮件发送,如何附加公钥文件,因为它位于一个隐藏的文件夹中?@statox:但是,简单地通过电子邮件发送的问题是,对于中间人攻击来说是不安全的。说Trudy想干扰Alice和Bob之间的交流。她捕获包含公钥的电子邮件,并将其替换为自己的密钥,她还存储自己的密钥。现在她用自己的钥匙给鲍勃发了一封电子邮件。现在,对于Alice发送给Bob的每封电子邮件,她都可以修改内容,并使用自己的密钥放弃,这样Bob就会认为这是Alice的密钥。@statox:问题是如何传递加密密钥。为了安全,或者您将其存储在经过认证的https Web服务器上,这样通信至少被认为是相当安全的,或者您亲自或亲自提供密钥。例如,在使用Zimulman SasaMaN协议时,通常,你通过一个你认为安全的通道发送一个重要的公钥。例如,您亲自使用U盘提供,并检查校验和是否仍然正确,这样就不会有人对U盘进行篡改。
pbcopy
是一个仅限Mac的工具,并且问题没有具体提到正在使用的Mac。为了最大限度地减少成功篡改MITM的机会,我建议只需通过电子邮件发送公钥,在收到后计算其两端的sha256散列,然后通过电话或类似方式验证散列的某些部分。