导语
- 密码认证可能会暴力破解,密码泄露,密码丢失等
- 禁止root ssh登录,通过普通用户密钥登录再su 输入密码切换root用户
说明
-
密钥认证是一种新型的认证方式,公用密钥存储在服务器上,专用密钥保存在本地,当需要登录系统时,通过本地密钥和服务器上的密钥进行配对认证,如果认证成功,就可以登录系统。这种认证避免了暴力破解的危险,同时,只要保存在本地的专用密钥不被黑客盗用,攻击者一般无法通过密钥认证的方式进入系统。因此,在linux下使用密钥认证方式登录系统,这样就可以抛弃密码认证登录系统的弊端。
-
首先产生ssh2的密钥对,这里选 择使用RSA 1024位加密,如下图
-
弹出“密钥生成向导”对话框,如下图
-
在选择类密钥类型时,选择RSA方式,如下图
-
输入一个保护设定的加密密钥通行语,如下图
-
在密钥的长度(位)中,使用默认的1024位加密即可,如下图
-
系统开始生成密钥
-
为生成的密钥选择一个文件名和存放的目录,可修改,如下图
到这里为止,密钥已生成
- 这里设置普通用户qiuyuan使用ssh2协议,在Linux服务器执行
[qiuyuan@iZ23lynfsq4Z ~]$ mkdir /home/qiuyuan/.ssh
[qiuyuan@iZ23lynfsq4Z ~]$ chmod 700 /home/qiuyuan/.ssh
- 把之前生成后缀名为pub的密钥上传到Linux服务器上,如果使用SecureCRT连接服务器,可以直接使用rz命令上传,然后导入:
chmod 700
[qiuyuan@iZ23lynfsq4Z ~]$ ssh-keygen -i -f Identity.pub >> /home/qiuyuan/.ssh/authorized_keys2
就在 /home/qiuyuan/.ssh/后多了authorized_keys2文件,这就是服务器端的密钥文件
- 在SecureCRT软件上新建一个ssh2链接
- 由于要让服务器使用RSA方式来验证用户登录SSH,因为在“鉴权”一栏中选择公钥,在窗口中使用之前生成的密钥文件Identity(私钥)
到止为止,RSA密钥方式配置已完成,接下来,还需要修改SSH2的配置文件,让其只能接收PublicKey认证方式来验证用户
- 在服务器上操作
[root@iZ23lynfsq4Z qiuyuan]# vim /etc/ssh/sshd_config
- 修改如下几个配置
- 此处要注意AuthorizedKeysFile的重复使用
- 最后重启SSHD
[root@iZ23lynfsq4Z qiuyuan]# service sshd restart
-
等SSHD启动完毕,就可以用SecureCRT通过PublicKey认证来远程登录linux服务器了
-
输入加密密钥通行语
-
成功进入服务器