如何从我的 Mac 连接到新的 Amazon Lightsail 实例?

Posted

技术标签:

【中文标题】如何从我的 Mac 连接到新的 Amazon Lightsail 实例?【英文标题】:How do I connect to a new Amazon Lightsail instance from my Mac? 【发布时间】:2018-02-12 05:03:54 【问题描述】:

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

【问题讨论】:

【参考方案1】:
    转到您的 Lightsail 帐户页面下的“SSH 密钥”选项卡 选择您所在地区下的默认选项并下载密钥对文件 将是一个 .pem 文件,例如。 LightsailDefaultPrivateKey-us-west-2.pem 打开终端并导航到存储上述文件的目录 在命令行运行chmod 600 [fileName],限制文件权限,只有你可以阅读 运行 ssh -i [fileName] [username]@[Public IP] 以建立到 Lightsail 的连接 您的资源的 Lightsail Web 仪表板的“连接”选项卡下提供了用户名和 IP

【讨论】:

见上面@aleem-isiaka 的回答【参考方案2】:

使用您现有的 ~/.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,也不需要重启实例,这对我来说是缺失的部分,现在它像魅力一样连接起来,谢谢。 这对我有用。现在我只需要弄清楚我的实例密码【参考方案3】:

我花了几个小时弄清楚如何添加一个额外的密钥来登录我的 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 登录,在站点管理器中添加私钥。

【讨论】:

【参考方案4】:

为了能够连接到您的 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 > 选择实例> 管理)

【讨论】:

以上是关于如何从我的 Mac 连接到新的 Amazon Lightsail 实例?的主要内容,如果未能解决你的问题,请参考以下文章

如何从我的 springboot 应用程序的 Docker 映像连接到 Amazon RDS 实例?

在 mac 上通过 ssh 连接到 amazon aws linux 服务器

从托管连接到 Amazon S3

使用 curl 连接到 Amazon Selling Partner API

将 IntelliJ 连接到 Amazon Redshift

将 Netatmo 气象站连接到 Amazon Echo (Alexa)