我在Amazon Lightsail上创建了一个新的NodeJS实例,并希望从我的Mac命令行连接到它。当它显示Permission denied (publickey)
时,不确定如何在连接命令中包含所需的SSH密钥。
答案 0 :(得分:22)
LightsailDefaultPrivateKey-us-west-2.pem
chmod 600 [fileName]
以限制文件权限,以便只有您可以阅读ssh -i [fileName] [username]@[Public IP]
以建立与Lightsail的连接
答案 1 :(得分:2)
要使用现有的〜/ .ssh / id_rsa.pub
nano ~/.ssh/authorized_keys
xclip -sel clip < ~/.ssh/id_rsa.pub
~/.ssh/authorized_keys
后面附加复制的密钥ssh ubuntu@[instance_public_ip]
本地登录答案 2 :(得分:2)
要连接到您的Amazon Lightail实例,您需要先下载密钥。
转到帐户> 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替换为您的实际文件名,将用户名替换为您的用户名(例如bitnami或user),并使用实际IP替换IP 您可以在实例页面上找到IP和用户名(https://lightsail.aws.amazon.com/ls/webapp/home/instances>选择实例>管理)
答案 3 :(得分:0)
我花了几个小时弄清楚如何添加其他密钥以登录到我的Wordpress / Bitnami Lightsail实例。
尽管如此,通过在[https://lightsail.aws.amazon.com/ls/webapp/account/keys][1]中添加新的密钥对,我可以直接访问我的实例,但事实并非如此。尝试通过SSH / SFTP进行连接时,总是出现“ 权限被拒绝(公钥)”。
如何解决?
您应将公共密钥直接添加到您的Lightsail实例:
首先通过Lightsail控制台连接到您的实例。链接应如下所示:https://lightsail.aws.amazon.com/ls/remote/yourzone/instances/instancename/terminal?protocol=ssh
nano ~/.ssh/authorized_keys
它看起来应该像这样:
ssh-rsa AFGGS#%NzaC1yc2EFDSGgpCvpVhFyRSpfsdfjhgasdDSduD$
这意味着只允许一个密钥参数通过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登录,在站点管理器中添加私钥。