如何解决如何在Mac终端上通过ssh登录使用私钥?我的尝试导致`加载密钥“ / path / to / privatekey”:格式无效
我通常在Windows上使用腻子进行ssh登录,该服务可以选择添加用于登录的私钥。
我切换到Mac,并且使用iTerm2尝试登录服务器。我尝试了命令ssh user@serverIPAddress -p portNumber
,但得到了Permission denied (publickey).
,我想这是因为我没有像使用Putty那样添加我的私钥。
我尝试在此处查找如何添加私钥
https://docs.rackspace.com/support/how-to/logging-in-with-an-ssh-private-key-on-linuxmac/
我从Windows笔记本电脑中保存了私钥文件,并将其保存到Mac中。我想尝试过
ssh -i /path/to/privatekey user@serverIPAddress -p portNumber
但后来我明白了
'/ path / to / privatekey'的权限0644太开放了。 要求他人不能访问您的私钥文件。 此私钥将被忽略。
我查看了该网站,并提供了保护文件安全的说明,所以我尝试:
chmod 600 /path/to/privatekey
尝试
ssh -i /path/to/privatekey user@serverIPAddress -p portNumber
再次,但是我得到了
加载密钥“ / path / to / privatekey”:格式无效。
我打开文件,发现文件格式与网页中的格式不同。我的文件格式如下
PuTTY-User-Key-File-2: ssh-rsa
Encryption: aes256-cbc
Comment: rsa-key-20200908
Public-Lines: 6
public key
Private-Lines: 14
private key
因此,我删除了除私钥以外的所有内容,并像在网站上一样添加了“ ----- BEGIN RSA KEY -----”和“ ----- END RSA KEY -----”
但我仍然得到
加载密钥“ / path / to / privatekey”:格式无效。
关于我哪里出了问题的任何想法?
解决方法
TLDR:腻子使用其他格式
您并不是真正使用iTerm2来“登录到服务器”。您正在使用OpenSSH客户端程序ssh
,在iTerm2中运行 from shell。问题出在Putty和OpenSSH之间。 Putty对私钥文件使用自己的格式,该格式与OpenSSH使用的格式不同。 Putty不能使用OpenSSH密钥文件,而OpenSSH不能使用Putty密钥文件。
更改文件上的PEM标签不会更改其内容。顺便说一句,OpenSSH通常在7.8以下的RSA密钥文件使用的PEM标签为-----BEGIN/END RSA PRIVATE KEY-----
,如您链接的网页所示,而不是您所说的RSA KEY
。但是将它们中的任何一个放置在原本不变的Putty密钥文件上,就像拿一盒大鼠poisin并在上面贴上一个标签,上面写着“ candy”。内容物仍然是老鼠的毒药,而不是糖果,任何食用它们的人都以为糖果是大麻烦。
与腻子相关的程序 PuttyGen可以转换 。看到几年前的欺骗,当时SO的范围包括这样的非编程问题:
How to convert SSH keypairs generated using PuTTYgen (Windows) into key-pairs used by ssh-agent and Keychain (Linux)
和交叉重复:
https://security.stackexchange.com/questions/146360/ssh-keypair-works-in-putty-but-not-in-openssh-inside-the-puttys-session
https://unix.stackexchange.com/questions/48303/using-rsa-private-key-from-putty-in-filezilla
https://unix.stackexchange.com/questions/74545/what-is-the-difference-between-an-openssh-key-and-putty-key
https://superuser.com/questions/990275/generate-rsa2-key-in-openssh-format
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。