我正在尝试将SSH连接到VSCode内部的一个VSCode实例,但我一直收到以下错误:
https://i.imgur.com/StIQ6Uh.jpg
它说我的pem文件是“太打开”和“没有保护”,所以它拒绝访问。
我的问题是,我已经使用这个pem文件作为一个不同实例的密钥,它运行良好。几天前,我已经运行了"chmod 400 swayek.pem“,它起了作用。
我试过多次运行它:
https://i.imgur.com/586e88J.jpg
但我还是联系不上。
但是,当不使用VScode时,它可以工作和连接。这实际上连接得很好:
ssh -i swayek.pem ec2-user@ec2-44-212-10-54.compute-1.amazonaws.com
https://i.imgur.com/0BuJUqG.png
我认为是WSL2造成了这个问题,因为我的SSH键在WSL2发行版端,而VSCode在运行SSH时没有连接到WSL发行版。
通常我和Ubuntu是这样连接的:
https://i.imgur.com/NBT60FJ.png
但是它不允许您在Ubuntu容器中打开SSH。它总是打开一个新窗口,并从默认的windows终端连接到SSH。我不是百分之百确定,但我认为这就是问题所在。
有谁知道更多的问题是什么,以及如何解决它?
编辑:
我想我应该尝试将"swayek.pem“文件复制到窗口端,并设置该文件的权限。
我遵循了这个相当于"chmod 400“的Windows版本:
# Source: https://stackoverflow.com/a/43317244
$path = ".\aws-ec2-key.pem"
# Reset to remove explict permissions
icacls.exe $path /reset
# Give current user explicit read-permission
icacls.exe $path /GRANT:R "$($env:USERNAME):(R)"
# Disable inheritance and remove inherited permissions
icacls.exe $path /inheritance:r
https://i.imgur.com/ZMxvZLv.jpg
但是现在我遇到了一个不同的错误,我不明白。有人能破译这个错误吗?
发布于 2022-11-14 20:51:02
在我的远程设置中
"terminal.integrated.profiles.linux": {
"zsh": {
"path": "zsh",
"args": [ "-l" ]
},
"bash": null,
"tmux": null,
"JavaScript Debug Terminal": null
},
然后,我创建了一个新的zsh
终端,并可以从那里SSH没有问题。
https://stackoverflow.com/questions/74396194
复制相似问题