前言:
ssh登录有两种方式,一种是最常见的通过用户密码登录,另一种是通过证书登录。两种方式各有好处,密码登录的配置方便使用方便,安全性不是很高(当然了也可以通过禁用root,使用子用户登录在切换的方式提高安全性,在这不做过多讨论);证书登录,配置起来有些麻烦,但使用方便,服务器间特别是传输文件比较方便,由于是一一对应的证书。安全性也比较高。
使用密钥登录分为3步:
- 客户机(Xshell客户端)生成密钥(公钥与私钥);
- 放置公钥(Public Key)到服务器(linux)~/.ssh/authorized_key文件中;
- 配置ssh客户机(Xshell客户端)使用密钥登录
1、生成密钥公钥(Public key)与私钥(Private Key)
打开Xshell,在菜单栏点击“tools(工具)”,在弹出的菜单中选择“User Key Generation Wizard…(新建用户密钥生成向导)”,如下图:
一路 选择“next(下一步)”
给密钥取个名字,如果需要复杂度更高的密码,可在此设置密码。(为了便捷,本人不对密钥设置密码),继续点击下一步
到这里,我们的公钥,私钥已经生成。点击完成之前可以先保存为文件到文件夹,此时公钥文件的保存名称是固定的,最好不要修改文件名(在上一步已经设置了文件名);然后点击保存即可。
2、上传刚才保存的公钥到linux服务器
后面的步骤可以参考我之前的一篇博客,配置ssh登录。
配置ssh免密登录
上传方式就不多说了,把刚才的文件上传到 /root/.ssh/目录下
然后把证书添加到ssh授权文件中,命令是:
cat ***.pub >> authorized_keys
如果是第一次配置的服务端,还需要注意authorized_keys的权限是否正确
chmod 600 authorized_keys
到此,我们刚才生成的公钥就得到了目标服务端的信任了
3、配置Xshell使用密钥认证方式登录
新建一个连接会话
切换到用户身份验证界面,选择为证书登录模式,选择刚才生成的密钥,如果对密钥设置了密码,还要在密码框这里输入密码。完成配置后,点击确定即可。
这样,就可以使用Xshell进行证书登录了