你如何pipe理SSH密钥添加第二个用户?

我使用这篇文章来设置密钥和用户使用Putty从Windows盒子login到Ubuntu服务器。

我现在想添加一个额外的SSH用户,将从MacBooklogin。 我使用ssh-keygen生成本地密钥,但是我无法将密钥复制到服务器。 这是我的bash读数(由于显而易见的原因而改变)

MacBook-Pro:〜joe $ scp -2 -P 50022 -v〜/ .ssh / id_rsa.pub [email protected]
执行:程序/ usr / bin / ssh主机111.222.333.444,用户新用户,命令scp -v -t。
OpenSSH_5.2p1,OpenSSL 0.9.8l 2009年11月5日
debug1:读取configuration数据/ etc / ssh_config
debug1:连接到111.222.333.444 [111.222.333.444]端口50022。
debug1:build立连接。
debug1:身份文件/Users/joe/.ssh/id_rsatypes1
debug1:身份文件/Users/joe/.ssh/id_dsatypes-1
debug1:远程协议版本2.0,远程软件版本OpenSSH_4.3
debug1:match:OpenSSH_4.3 pat OpenSSH_4 *
debug1:启用协议2.0的兼容模式
debug1:本地版本stringSSH-2.0-OpenSSH_5.2
debug1:发送SSH2_MSG_KEXINIT
debugging1:收到SSH2_MSG_KEXINIT
debug1:kex:server-> client aes128-ctr hmac-md5 none
debug1:kex:client-> server aes128-ctr hmac-md5 none
debug1:发送了SSH2_MSG_KEX_DH_GEX_REQUEST(1024 <1024 <8192)
debug1:期待SSH2_MSG_KEX_DH_GEX_GROUP
debug1:发送了SSH2_MSG_KEX_DH_GEX_INIT
debug1:期待SSH2_MSG_KEX_DH_GEX_REPLY
debug1:主机'[111.222.333.444]:50000'是已知的,并与RSA主机密钥匹配。
debug1:find/Users/joe/.ssh/known_hosts:2中的密钥
debug1:ssh_rsa_verify:签名正确
debug1:发送了SSH2_MSG_NEWKEYS
debug1:期待SSH2_MSG_NEWKEYS
debug1:收到SSH2_MSG_NEWKEYS
debugging1:发送了SSH2_MSG_SERVICE_REQUEST
debug1:收到SSH2_MSG_SERVICE_ACCEPT
debug1:可以继续的身份validation:publickey
debug1:下一个validation方法:publickey
debug1:提供公钥:/Users/joe/.ssh/id_rsa
debug1:可以继续的身份validation:publickey
debug1:尝试私钥:/Users/joe/.ssh/id_dsa
debug1:没有更多的身份validation方法来尝试。
权限被拒绝(publickey)。 失去了连接

您需要使用Windows机器上的puttylogin并退出.ssh / authorized_keys文件,并将在Mac上生成的密钥添加到文件中。

不要运行命令

scp -2 -P 50022 -v ~/.ssh/id_rsa.pub [email protected]: 

这将覆盖服务器上的现有密钥,并且由于服务器只接受密钥login而不起作用。

您需要将Joe的公钥(.ssh / id_rsa.pub)的内容追加到服务器上的〜newuser / .ssh / authorized_keys文件中。 我会推荐在MacBook上使用RDP连接到你的Windows机器,确保剪贴板是共享的。 捕获macbook上公钥的内容,然后打开连接到服务器的putty窗口。 然后运行…

 cat - >>~newuser/.ssh/authorized_keys 

并粘贴到关键内容中,按ctrl + dclosures文件。

或者,如果您可以在服务器上启用密码validation,则可以使用mac中的“ssh-copy-id”

或者,您可以简单地将您在Windows上生成的私钥复制到Mac(您可能需要转换密钥格式,请参阅Mac上的ssh手册页…)。 没有麻烦,没有大惊小怪。