ssh密钥登陆相较于传统的用户名和密码认证方式,SSH 密钥对有以下特点:
- 仅适用于 Linux 实例。
- SSH 密钥对登录认证更为安全可靠。
- 便于远程登录大量 Linux 实例,方便管理。
什么是 SSH 密钥对
SSH 密钥对是通过一种加密算法生成的一对密钥:一个对外界公开,称为“公钥”;另一个您自己保留,称为“私钥”。
如果您已经将公钥配置在 Linux 实例中,那么,在本地或者另外一个实例中,您可以使用私钥通过 SSH 命令或相关工具登录实例,而不需要输入密码。
优势
使用 SSH 密钥对有以下优势:
- 安全性高:
- 密钥对安全强度远高于常规用户口令,可以杜绝暴力破解威胁。
- 不可能通过公钥推导出私钥。
- 易用快捷:只需在控制台和本地客户端做简单配置即可远程登录实例,再次登录时无需再输入密码。如果您需要批量维护多个 ECS 实例,推荐使用这种方式登录。
阿里云生成密钥
按以下步骤创建密钥对。
登录 阿里云 ECS 控制台。
在导航窗格中,单击 密钥对管理。
在 密钥对管理 页面上,选择所需地域后,单击 创建密钥对。
在弹出窗口,设置密钥对名称,并选择 自动新建密钥对。指定的密钥对名称不应该与已有的密钥对名称重复,也不应该与删除前仍绑定实例的密钥对名称重复。否则,控制台会报错“密钥对已存在”。
单击 确定,开始创建密钥对。
下载私钥。页面上会弹出类似于下方截图的下载提示窗口,请按窗口提示下载私钥。
注意:您必须立即下载私钥。当该密钥对绑定某个 ECS 实例时,如果没有私钥,您将再也不能登录该 ECS 实例。
密钥对创建成功后,您可以在密钥对列表里看到新创建的密钥对信息,包括 密钥对名称、密钥对指纹 等。
mac使用ssh密钥登陆
命令登陆:ssh -i <私钥名称> root@<服务器>
可能会出现登陆报错:
1 | @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ |
- 原因:权限过大。
- 解决方案,降低权限,命令: chmod 0600 <私钥名称>
因为服务器FTP之前是使用root账号登陆的。所以导致无法登陆
- 安装vsftpd ftp服务器。
- yum install vsftpd
- 新增FTP用户
- user add ftp
- 更改FTP用户密码。passwd ftp
编辑配置文件vsftpd.conf
[root@localhost mnt]# cd /etc/vsftpd/
[root@localhost vsftpd]# cp vsftpd.conf vsftpd.conf.bak
[root@localhost vsftpd]# vim vsftpd.conf
做如下配置:
“#anonymous_enable=YES” 改成 “anonymous_enable=NO” - 给FTP用户赋目录权限
mkdir /home/ftp/upload
chown ftp:root /home/ftp/upload - mac 连接vsftpd提示:服务器发回了不可路由的地址。使用服务器地址代替。
换回默认的21端口,问题解决。
通过私钥获取对应的公钥
本地为Windows操作系统
启动PuTTYgen。
单击Load。
选择.ppk或.pem文件。
PuTTYgen会显示公钥信息。
本地为Linux或Mac系统
运行ssh-keygen命令,并指定.pem文件的路径。
1 |
|
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDdlrdZwV3+GF9q7rhc6vYrExwT4WU4fsaRcVXGV2Mg9RHex21hl1au77GkmnIgukBZjywlQOT4GDdsJy2nBOdJPrCEBIP6t0Mk5aPkK/fctNuKjcmMMOA8YUT+sJKn3l7rCLkesE+S5880yNdRjBiiUy40kyr7Y+fqGVdSOHGMXZQPpkBtojcV14uAy0yV6/htEqGa/Jq4fH7bR6CYQ2XgH/hCap29Mdi/G5Tx1nbUKuIHdMWOPvjGACGcXclex+lHtTGiAIRG1riyNRVC47ZEVCxxxxxx
1 | > 说明 如果该命令失败,请运行chmod 400 my-key-pair.pem命令更改权限,确保只有您才能查看该文件。 |
telnet xxx.xxx.xxx.xx 端口号
1
2
3
4
5
6
+ 首先查看ECS安全组规则是否允许端口
+ 查看系统防火墙配置。
```html
servcie iptables stop --临时关闭防火墙
chkconfig iptables off --永久关闭防火墙
- CentOS 7.2关闭防火墙
CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙步骤。