在 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 <your home directory>/.ssh/<your keypair file> ec2-user@<ec2 hostname>
【讨论】:
我认为你的意思是 ~/.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时出错