Rootop 服务器运维与web架构

xshell使用密钥登陆linux服务器

使用用户名方式登陆linux服务器,存在暴力破解可能,如果使用证书就可以避免这种问题。当然也可以通过修改ssh端口的方式绕开非法的扫描。

通过密钥方式登陆,需要在xshell中创建私钥和公钥,私钥位于客户端,公钥位于服务器端,通过私钥去解公钥。

在xshell中制作密钥:

1、点击“工具”-“新建用户密钥生成向导”

2、密钥类型选择 rsa (默认可以),长度1024(默认)

3、

4、密钥名称,自己修改。

5、公钥格式选”ssh2-openssh”,并另存为到桌面上。

6、完成后会自动弹出 用户密钥 (私钥)   #主机密钥为公钥

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

作者:Venus

服务器运维与性能优化

评论已关闭。