AWS EC2服务器是用密钥来认证的,在创建instance时,会提示创建一个key pair

同时会提示下载一个xxx.pem的密钥文件到本地硬盘。

pem 格式示例:aws-usa-ohio.pem

 

本文,米扑博客将介绍通过SecureCRT连接到AWS EC2

系统环境MacOS + SecureCRT + AWS EC2

配置步骤:

1. 上传xxx.pem文件到一个MacOS(Unix/Linux)系统下,修改其权限为600,修改命令为: chmod 600 xxx.pem

2. 改写密钥格式为 OpenSSH,修改命令为: ssh-keygen -p -f xxx.pem(如果询问passphrase可以直接回车)

3. 接着生成公密钥 .pub 文件,执行命令为: ssh-keygen -e -f xxx.pem > xxx.pem.pub

4. 把生成的文件下载到本地,例如:cp xxx.pem.pub ~/script/

5. 在SecureCRT中新建连接,协议选择 SSH2 ,然后填写主机服务器地址和用户名,如下:

5.1)主机名填写public dns,这个地址在EC2控制台中会提供,例如:ec2-18-218-29-128.us-east-2.compute.amazonaws.com

5.2)用户名填写 ec2-user,这是AWS EC2默认的用户名,如果你已经修改过用户名,请填写你修改后的用户名

 

6. 在SecureCRT连接的列表中找到步骤5 刚创建的连接,右键属性 Properties —> SSH2 —> Authentication —> PublicKey —> Properties...

 

然后,在弹出来的对话框中,选择使用身份或证书文件,通过浏览文件指定到刚在Linux下生成的文件(xxx.pem.pub)即可

注意:

xxx.pem.pub 和 xxx.pem要在同一文件夹下

上传xxx.pem.pub文件后,不必点击"Upload",否则会报错

The client has disconnected from the server.  Reason:

Unable to authenticate using any of the configured authentication methods. 

若你一定要解决此问题,方法如下:

1)修改 vim /etc/ssh/sshd_config 文件下的 PasswordAuthentication项为 yes

2)重启ssh服务

Linux 命令:service sshd restart  

MacOS 命令:

sudo launchctl stop /System/Library/LaunchDaemons/ssh.plist   // 先关闭
sudo launchctl start /System/Library/LaunchDaemons/ssh.plist  // 后开启
sudo launchctl load /System/Library/LaunchDaemons/ssh.plist   // 设置开机启动

 

现在打开刚才新建的连接,就可以连上EC2服务器了,如下图:

 

 

最后,还是介绍下 AWS EC2 默认的连接方式:

ssh -i xxx.pem ec2-user@ec2-18-218-29-128.us-east-2.compute.amazonaws.com

其中,xxx.pem 是你创建AWS EC2 实例时,提示你保存的 pem 密钥文件

 

米扑博客,祝你好运~

 

 

参考推荐

SecureCRT 自动登录设置

SecureCRT 7.0.2 For Mac 10.12.3 完美破解版

Mac Launchctl 命令行参数详解

Mac 高效程序猿开发必备软件