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

Posted

技术标签:

【中文标题】在 mac 上通过 ssh 连接到 amazon aws linux 服务器【英文标题】:connecting to amazon aws linux server by ssh on mac 【发布时间】:2012-12-23 04:23:42 【问题描述】:

我创建了一个新的密钥对并将其下载到我的 mac,然后使用该密钥对和我的安全组设置了一个新的 Amazon Linux AMI 服务器。现在我需要将我下载的密钥对 .pem 文件放在用户文件夹中的 .ssh 文件中吗?但是由于名称的原因,我无法创建一个名为“.ssh”的文件夹。

我将密钥对放在我的 Mac 上的什么位置?然后需要什么 chmods 或其他命令才能从我的 linux bash 连接到服务器?我知道“ssh my public DNS”,但是我应该注意哪些其他权限或其他任何事情?这是一个新手问题。谢谢。

【问题讨论】:

【参考方案1】:

您需要将密钥对放在 您的主目录/.ssh 中。如果该文件夹不存在,请创建它。将密钥对放入其中后,您必须更改文件的权限,以便只有您的用户才能读取它。 启动终端并输入

chmod 600 $HOME/.ssh/<your keypair file>

即限制对文件的访问,进而限制对文件夹类型的访问

chmod 700 $HOME/.ssh

您必须限制访问,因为 OpenSSH 协议不允许您使用其他人可以查看的密钥。

然后从您输入的终端登录到您的实例

ssh -i &lt;your home directory&gt;/.ssh/&lt;your keypair file&gt; ec2-user@&lt;ec2 hostname&gt;

【讨论】:

我认为你的意思是 ~/.ssh 而不是 /.ssh 这是问题的一部分。我无法创建一个名为“.ssh”的文件夹,因为名称中的句点是不允许的。如何创建该文件夹?感谢您的上述回答。 文件夹名前的句号仅表示文件夹被隐藏。进入您的终端并输入 ls -la ~ 您会看到主目录中的所有文件夹,包括隐藏文件夹。如果您没有看到该文件夹​​,请在终端中键入 mkdir ~/. ssh 基于在线 AWS 教程,要求用户运行 chmod 400,应该改用哪一个?教程链接:railsconf2015-aws.s3-website-us-east-1.amazonaws.com【参考方案2】:

你也可以创建一个文件 ~/.ssh/config 修改它 644 然后在里面你可以添加这样的东西

host mybox-root
  Hostname [the IP or dns name]
  User root
  IdentityFile ~/.ssh/[your keypair here]

那么你就可以了

$ ssh mybox-root

你会更容易登录。

【讨论】:

很好的答案。我会鼓励每个人都遵循这个!【参考方案3】:

您可以在 Macbook pro 中使用 Java MindTerm 连接到您的 EC2 服务器。这个对我有用。以下是更多详细信息和分步说明。

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/AccessingInstancesLinux.html

【讨论】:

【参考方案4】:

http://www.openssh.com/ 是http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-connect-to-instance-linux.html#using-ssh-client 上的建议(选项3)

【讨论】:

【参考方案5】:

有人在 Mac 上询问创建 ~/.ssh 文件夹的简单方法是运行命令 ssh-keygen,然后使用以下设置...

A.

macbook-air$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/sam/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /Users/sam/.ssh/id_rsa.
Your public key has been saved in /Users/sam/.ssh/id_rsa.pub.

B.然后创建:

touch ~/.ssh/authorized_keys

C.修复权限:

chmod 600 ~/.ssh/authorized_keys

D.将 AWS 密钥复制到该文件:

cp AWS_key.text ~sam/.ssh/authorized_keys

#你会在创建 EC2 实例时提前保存这个 SSH 密钥

E.然后测试 ssh 到 AWS Linux 服务器 - 你会看到这个错误:

ssh -i ./authorized_keys root@ec2-54-76-176-29.ap-southeast-2.compute.amazonaws.com

请以用户“ec2-user”而不是用户“root”登录。

F。重试,它应该可以与允许的 AWS 用户“ec2-user”一起使用:

ssh -i ./authorized_keys ec2-user@ec2-54-76-176-29.ap-southeast-2.compute.amazonaws.com
       __|  __|_  )
       _|  (     /   Amazon Linux AMI
      ___|\___|___|

https://aws.amazon.com/amazon-linux-ami/2014.09-release-notes/
9 package(s) needed for security, out of 12 available
Run "sudo yum update" to apply all updates.

希望这会有所帮助,一切顺利。

【讨论】:

这是不正确的。 ~/.ssh/authorized_keys 文件用于包含允许对其所在服务器进行身份验证的用户的公钥,而不是用于连接到外部服务器。

以上是关于在 mac 上通过 ssh 连接到 amazon aws linux 服务器的主要内容,如果未能解决你的问题,请参考以下文章

在 Mac 终端中使用 PPK 文件通过 SSH 连接到远程连接 [关闭]

在 Mac OSx 上通过 SSH 连接到 EC2 时出现权限错误

使用MySQL Workbench连接到Amazon Aurora时出错

连接到 Amazon EC2 实例时 SSH 挂起

在 Linux 中通过 SSH 连接到 Amazon EC2

通过ssh连接到越狱iPhone