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

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

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

【问题讨论】:

    标签: linux macos amazon-ec2


    【解决方案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】:
      【解决方案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 文件用于包含允许对其所在服务器进行身份验证的用户的公钥,而不是用于连接到外部服务器。
      猜你喜欢
      • 2017-07-17
      • 2012-02-17
      • 2019-01-21
      • 2021-05-09
      • 1970-01-01
      • 2021-01-09
      • 1970-01-01
      • 2021-05-18
      • 2010-10-02
      相关资源
      最近更新 更多