通过Mac使用SSH连接亚马逊AWS Linux服务器

44

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

我应该在我的Mac上把密钥放在哪里?还需要哪些chmod或其他命令才能从我的Linux Bash连接到服务器?我知道"ssh my public DNS",但我还应该注意哪些权限或其他事项吗?这是一个初学者的问题。 谢谢。

5个回答

78

您需要将密钥对放在{您的主目录}/.ssh中。如果该文件夹不存在,请创建它。一旦您把密钥放在那里,您需要更改文件的权限,以便只有您的用户可以读取它。 启动终端并输入

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

这限制了对文件的访问,然后限制了对文件夹类型的访问

chmod 700 $HOME/.ssh

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

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

ssh -i <您的主目录>/.ssh/<您的密钥文件> ec2-user@<ec2主机名>


3
我认为你的意思是 ~/.ssh 而不是 /.ssh。 - Tuim
这是问题的一部分。我无法创建名为“.ssh”的文件夹,因为名称中的句点是不允许的。我该如何创建这个文件夹?感谢您上面的回答。 - brno792
2
文件夹名称前面的句点只是表示该文件夹是隐藏的。进入终端并键入“ls -la ~”即可查看主目录中的所有文件夹,包括隐藏文件夹。 如果您没有看到该文件夹,则仍在终端中键入“mkdir ~/.ssh”。 - jarriett
根据一份在线的AWS教程,用户被要求运行chmod 400命令,应该做哪个操作? 教程链接:http://railsconf2015-aws.s3-website-us-east-1.amazonaws.com/ - RPV

67

你也可以创建一个文件 ~/.ssh/config 将其chmod为644 然后在里面添加类似于以下内容的东西

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

那么你可以直接执行

$ ssh mybox-root

这样你会更容易地登录。


很棒的答案。我鼓励每个人都去跟随这个! - Tom Hert

1


-1

有人在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. 然后测试与AWS Linux服务器的ssh连接 - 您将看到此错误:

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文件用于包含允许与其所在服务器进行身份验证的用户的公钥,而不是用于连接外部服务器。 - Kevin Willock

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接