17

我在 Amazon Lightsail 上创建了一个新的 NodeJS 实例,并希望从我的 Mac 命令行连接到它。不确定如何在连接命令中包含所需的 SSH 密钥Permission denied (publickey)

4

4 回答 4

37
  1. 转到您的 Lightsail 帐户页面下的“SSH 密钥”选项卡
  2. 选择您所在地区下的默认选项并下载密钥对文件
    • 将是一个 .pem 文件,例如。LightsailDefaultPrivateKey-us-west-2.pem
  3. 打开您的终端并导航到存储上述文件的目录
  4. 在命令行运行chmod 600 [fileName]以限制文件权限,因此只有您可以读取它
  5. 运行ssh -i [fileName] [username]@[Public IP]以建立与 Lightsail 的连接
    • 您的资源的 Lightsail Web 仪表板的“连接”选项卡下提供了用户名和 IP
于 2017-09-04T00:18:08.580 回答
11

使用现有的~/.ssh/id_rsa.pub

  • 使用浏览器客户端登录服务器
  • nano ~/.ssh/authorized_keys
  • 获取您的本地公钥xclip -sel clip < ~/.ssh/id_rsa.pub
  • 附加~/.ssh/authorized_keys复制的密钥
  • 重启实例
  • 使用本地登录ssh ubuntu@[instance_public_ip]
于 2019-04-04T15:21:53.747 回答
5

为了能够连接到您的 amazon lightsail 实例,您需要先下载密钥。

  1. 转到账户 > SSH 密钥 ( https://lightsail.aws.amazon.com/ls/webapp/account/keys ) > 下载(确保您下载的密钥与安装实例的区域相同。) 管理您的 SSH 密钥

  2. 将其保存在本地计算机的文件夹中。例如-“桌面>键”

  3. 打开终端并导航到存储密钥的目录(cd desktop/keys

  4. 在终端中输入此命令:(chmod 600 keyfilename.pem将密钥文件名称替换为您的实际密钥名称,例如chmod 600 LightsailDefaultKey-eu-west-2.pem

要求您的私钥文件不能被其他人访问。这就是为什么我们必须更改文件权限

  1. 运行此命令ssh -i keyfilename.pem username@ip 将 keyfilename.pem 替换为您的实际文件名,将用户名替换为您的用户名(例如 bitnami 或用户),并将 IP 替换为实际 IP

您可以在您的实例页面上找到您的 IP 和用户名(https://lightsail.aws.amazon.com/ls/webapp/home/instances > 选择实例 > 管理)

于 2020-05-31T19:58:32.683 回答
2

我花了几个小时弄清楚如何添加一个额外的密钥来登录我的 Wordpress/Bitnami Lightsail 实例。

我虽然通过在 [ https://lightsail.aws.amazon.com/ls/webapp/account/keys][1]中添加新的密钥对,我可以直接访问我的实例,但事实并非如此。尝试通过 SSH/SFTP 连接时,我总是得到“ Permission denied (publickey) ”。

如何解决?

您应该将您的公钥直接添加到您的 Lightsail 实例中:

  1. 首先通过 Lightsail 控制台连接到您的实例。该链接应如下所示:https ://lightsail.aws.amazon.com/ls/remote/yourzone/instances/instancename/terminal?protocol=ssh

  2. nano ~/.ssh/authorized_keys

它应该看起来像:

ssh-rsa AFGGS#%NzaC1yc2EFDSGgpCvpVhFyRSpfsdfjhgasdDSduD$

这意味着只允许一个密钥 par 通过 SSH/SFTP 连接到您的 Lightsail 实例 (voilà ! )。

您应该将新的公钥添加到该文件中:

(YOUR PREVIOUS KEY)ssh-rsa AFGGS#%NzaC1yc2EFDSGgpCvpVhFyRSpfsdfjhgasdDSduD$
(ADD NEW PUBLIC KEY) ssh-rsa ASJKAKKFS#%ASDFbsdjfhJHGJvpVhFyRSpfsdfjhgasdDSduD$
  1. 重新启动服务器并从本地终端登录:

    ssh bitnami@yourpublicip -i /Users/youruser/.ssh/yourkeyfile

有了这个,我还可以在 Filezilla (Mac) 中通过 SFTP 登录,在站点管理器中添加私钥。

于 2019-09-05T17:46:07.517 回答