我从ssh得到以下错误:
Permissions 0777 for '/Users/username/.ssh/id_rsa' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.
我应该给id_rsa文件什么权限?
我从ssh得到以下错误:
Permissions 0777 for '/Users/username/.ssh/id_rsa' are too open.
It is recommended that your private key files are NOT accessible by others.
This private key will be ignored.
我应该给id_rsa文件什么权限?
正如其他人所说,在Windows中,我只需将.pem
文件放入C:\Users\[user]\.ssh\
即可解决问题。虽然您可以通过bash或powershell提示符执行chmod
和其他命令行选项,但并没有起作用。我未更改rsa或其他任何内容。然后在运行连接时,您必须将pem文件的路径放入.ssh
文件夹:
ssh -i "C:\Users\[user]\.ssh\ubuntukp01.pem" ubuntu@ec[ipaddress].us-west-2.compute.amazonaws.com
700 folder
644 id_rsa.pub
这对我有效。
除了已经接受的答案外,如果您已经尝试了所有建议的方法,并且正在使用Windows上的“wsl”ubuntu,则可以在ssh命令后添加“sudo”,例如:
sudo ssh -i xxx.pem xxxx@xxxx.compute-1.amazonaws.com
这里有一个有趣的信息。 如果你的私钥过于开放,操作系统会聪明地拒绝远程连接。它了解到id_rsa文件权限过于开放(可读,任何人都可以编辑)的风险。
{有人可能会先更换你的锁,然后用他已有的钥匙打开}
cd ~/.ssh
chmod 400 id_rsa
在处理多个服务器(非生产环境)时,我们大多数人都需要使用ssh连接远程服务器。一个好的想法是编写一段应用级代码(可以使用jsch编写java),以创建服务器之间的ssh信任关系。这样连接将不需要密码。如果安装了perl,则可以使用net ssh模块。
ssh-keygen -y -f myprivateKey.pem > mypublicKey.pub
我正在使用 Windows 10 并尝试通过 SSH 连接到 EC2 实例。与在 Windows 上使用 Cygwin 不同,建议使用 Git Bash。在对密钥执行 chmod 400
后,我能够通过 SSH 连接到 EC2 实例,但是在 Cygwin 中不起作用。Windows 将 .pem 文件视为来自互联网并阻止它,即使禁用继承也无效。
我将文件转换为 .ppk 格式,并且从 PuTTY 可以正常工作,但是在 Cygwin 中无法正常工作。
ssh -i mykey.pem ubuntu@instace.eu-north-1.compute.amazonaws.com
ssh -i mykey.pem ubuntu@instace.eu-north-1.compute.amazonaws.com
工作正常。问题在于空格被视为用户名的一部分。
我在使用WSL连接AWS实例时遇到了问题。通过切换到经典命令提示符,我的问题得到了解决。您可以尝试切换到另一个终端界面,看看是否有帮助。
chmod go-r id_rsa
。g
代表group
,o
代表others
,r
表示read
。不再出现奇怪的代码,意义才是王道。 - AlikElzin-kilaka