在AWS EC2上使用XShell添加SSH公钥的步骤

使用 GPT-4o 回答,作者 GPT4oMini.app

问题:

在AWS的EC2,在客户机上使用XShell进行ssh访问,请问要将公钥添加到~/.ssh/authorized_keys,具体怎么操作?

答案:

要在AWS EC2实例上使用XShell进行SSH访问,并将公钥添加到~/.ssh/authorized_keys文件中,您可以按照以下步骤进行操作:

  1. 生成SSH密钥对(如果还没有)

    • 在您的本地计算机上,打开终端或命令提示符。
    • 运行以下命令生成SSH密钥对:
      ssh-keygen -t rsa -b 2048
      
    • 按提示选择保存位置(通常是~/.ssh/id_rsa)和设置密码(可选)。
  2. 获取公钥

    • 公钥通常保存在~/.ssh/id_rsa.pub文件中。使用文本编辑器或命令查看该文件的内容:
      cat ~/.ssh/id_rsa.pub
      
    • 复制公钥内容。
  3. 连接到EC2实例

    • 使用XShell或其他SSH客户端连接到您的EC2实例。您需要使用实例的公共IP地址和密钥对(.pem文件)进行连接。
  4. 在EC2实例上设置公钥

    • 一旦连接到EC2实例,确保您在主目录下(通常是/home/ec2-user/home/ubuntu,具体取决于AMI)。
    • 如果.ssh目录不存在,创建它:
      mkdir -p ~/.ssh
      
    • 设置.ssh目录的权限:
      chmod 700 ~/.ssh
      
    • 编辑或创建authorized_keys文件,并将您的公钥粘贴到文件中:
      echo "your-public-key-content" >> ~/.ssh/authorized_keys
      
      或者使用文本编辑器(如vinano):
      nano ~/.ssh/authorized_keys
      
      然后粘贴公钥内容,保存并退出编辑器。
  5. 设置authorized_keys文件的权限

    chmod 600 ~/.ssh/authorized_keys
    
  6. 断开连接并测试

    • 断开当前连接。
    • 使用XShell或其他SSH客户端,尝试使用新的SSH密钥对连接到EC2实例,确保一切正常。

通过这些步骤,您应该能够成功地将公钥添加到EC2实例的authorized_keys文件中,并使用XShell进行SSH访问。