【发布时间】:2018-02-12 05:03:54
【问题描述】:
我在 Amazon Lightsail 上创建了一个新的 NodeJS 实例,并希望从我的 Mac 命令行连接到它。当连接命令显示Permission denied (publickey) 时,不确定如何在连接命令中包含所需的 SSH 密钥。
【问题讨论】:
标签: macos amazon-web-services ssh amazon-lightsail
我在 Amazon Lightsail 上创建了一个新的 NodeJS 实例,并希望从我的 Mac 命令行连接到它。当连接命令显示Permission denied (publickey) 时,不确定如何在连接命令中包含所需的 SSH 密钥。
【问题讨论】:
标签: macos amazon-web-services ssh amazon-lightsail
LightsailDefaultPrivateKey-us-west-2.pem
chmod 600 [fileName],限制文件权限,只有你可以阅读ssh -i [fileName] [username]@[Public IP] 以建立到 Lightsail 的连接
【讨论】:
使用您现有的 ~/.ssh/id_rsa.pub
nano ~/.ssh/authorized_keys
xclip -sel clip < ~/.ssh/id_rsa.pub 获取您的本地公钥
~/.ssh/authorized_keys 附加到复制的密钥ssh ubuntu@[instance_public_ip]在本地登录
【讨论】:
authorized_keys文件,你可以试试echo my_rsa_pub_string >> authorized_keys,也不需要重启实例,这对我来说是缺失的部分,现在它像魅力一样连接起来,谢谢。
我花了几个小时弄清楚如何添加一个额外的密钥来登录我的 Wordpress/Bitnami Lightsail 实例。
虽然通过在 [https://lightsail.aws.amazon.com/ls/webapp/account/keys][1] 中添加新的密钥对,我可以直接访问我的实例,但事实并非如此。尝试通过 SSH/SFTP 连接时,我总是收到“Permission denied (publickey)”。
如何解决?
您应该将您的公钥直接添加到您的 Lightsail 实例中:
首先通过您的 Lightsail 控制台连接到您的实例。链接应如下所示:https://lightsail.aws.amazon.com/ls/remote/yourzone/instances/instancename/terminal?protocol=ssh
nano ~/.ssh/authorized_keys
它应该看起来像:
ssh-rsa AFGGS#%NzaC1yc2EFDSGgpCvpVhFyRSpfsdfjhgasdDSduD$
这意味着只允许一个 key par 通过 SSH/SFTP 连接到您的 Lightsail 实例 (voilà!)。
您应该将新的公钥添加到该文件中:
(YOUR PREVIOUS KEY)ssh-rsa AFGGS#%NzaC1yc2EFDSGgpCvpVhFyRSpfsdfjhgasdDSduD$
(ADD NEW PUBLIC KEY) ssh-rsa ASJKAKKFS#%ASDFbsdjfhJHGJvpVhFyRSpfsdfjhgasdDSduD$
重新启动服务器并从本地终端登录:
ssh bitnami@yourpublicip -i /Users/youruser/.ssh/yourkeyfile
有了这个,我还可以在 Filezilla (Mac) 中通过 SFTP 登录,在站点管理器中添加私钥。
【讨论】:
为了能够连接到您的 amazon lightsail 实例,您需要先下载密钥。
转到帐户 > SSH 密钥 ( https://lightsail.aws.amazon.com/ls/webapp/account/keys) > 下载 (确保您为安装实例的同一区域下载密钥。)
将其保存在本地计算机的文件夹中。例如-“桌面>键”
打开终端并导航到存储密钥的目录(cd desktop/keys)
在终端输入此命令:chmod 600 keyfilename.pem(将密钥文件名称替换为您的实际密钥名称,例如 chmod 600 LightsailDefaultKey-eu-west-2.pem)
要求您的私钥文件不能被其他人访问。 这就是为什么我们必须更改文件权限
ssh -i keyfilename.pem username@ip
将 keyfilename.pem 替换为您的实际文件名,将 username 替换为您的用户名(例如 bitnami 或用户),并将 IP 替换为实际 IP您可以在您的实例页面上找到您的 IP 和用户名(https://lightsail.aws.amazon.com/ls/webapp/home/instances > 选择实例> 管理)
【讨论】: