使用用户名方式登陆linux服务器,存在暴力破解可能,如果使用证书就可以避免这种问题。当然也可以通过修改ssh端口的方式绕开非法的扫描。
通过密钥方式登陆,需要在xshell中创建私钥和公钥,私钥位于客户端,公钥位于服务器端,通过私钥去解公钥。
在xshell中制作密钥:
1、点击“工具”-“新建用户密钥生成向导”
2、密钥类型选择 rsa (默认可以),长度1024(默认)
5、公钥格式选”ssh2-openssh”,并另存为到桌面上。
xshell的密钥生成完毕。现在需要将桌面上的公钥id_rsa_1024_2014-12-03.pub上传到服务器中,路径:~/.ssh/
[root@g2 ~]# cd .ssh/ [root@g2 .ssh]# ll 总用量 4 -rw-r--r-- 1 root root 208 12月 3 14:30 id_rsa_1024_2014-12-03.pub [root@g2 .ssh]# mv id_rsa_1024_2014-12-03.pub authorized_keys [root@g2 .ssh]# chmod 400 authorized_keys [root@g2 .ssh]# ll 总用量 4 -r-------- 1 root root 208 12月 3 14:30 authorized_keys
修改/etc/ssh/sshd_config下面4项:
RSAAuthentication yes #RSA加密方式认证
PubkeyAuthentication yes #公钥验证
AuthorizedKeysFile .ssh/authorized_keys #公钥文件
PasswordAuthentication no #禁止密码登陆
重启ssh服务
xshell认证方式修改为密钥验证:
方法:Public Key 用户名:root 用户密钥:生成密钥时的私钥。 密码没有设置,为空。
PS:
一个服务器上会有多个人员的账号,这样就需要为不同人员创建不同的密钥实现权限分离,比如说为用户A创建密钥,将公钥放到/home/A/.ssh下,给用户A私钥让其登陆,用户B也如此操作。如果用同一个私钥及公钥,那么其他用户直接可以在xshell中修改用户为root,直接跃为root权限,风险太大,所以为不同用户创建不同密钥。
原创文章,转载请注明。本文链接地址: https://www.rootop.org/pages/3122.html