前言:
ssh登录有两种方式,一种是最常见的通过用户密码登录,另一种是通过证书登录。两种方式各有好处,密码登录的配置方便使用方便,安全性不是很高(当然了也可以通过禁用root,使用子用户登录在切换的方式提高安全性,在这不做过多讨论);证书登录,配置起来有些麻烦,但使用方便,服务器间特别是传输文件比较方便,由于是一一对应的证书。安全性也比较高。

使用密钥登录分为3步:

  1. 客户机(Xshell客户端)生成密钥(公钥与私钥);
  2. 放置公钥(Public Key)到服务器(linux)~/.ssh/authorized_key文件中;
  3. 配置ssh客户机(Xshell客户端)使用密钥登录

1、生成密钥公钥(Public key)与私钥(Private Key)

打开Xshell,在菜单栏点击“tools(工具)”,在弹出的菜单中选择“User Key Generation Wizard…(新建用户密钥生成向导)”,如下图:

XSHELL 如何用秘钥登陆centos xshell私钥登录_xshell

一路 选择“next(下一步)”

XSHELL 如何用秘钥登陆centos xshell私钥登录_xshell_02

给密钥取个名字,如果需要复杂度更高的密码,可在此设置密码。(为了便捷,本人不对密钥设置密码),继续点击下一步

XSHELL 如何用秘钥登陆centos xshell私钥登录_上传_03


到这里,我们的公钥,私钥已经生成。点击完成之前可以先保存为文件到文件夹,此时公钥文件的保存名称是固定的,最好不要修改文件名(在上一步已经设置了文件名);然后点击保存即可。

2、上传刚才保存的公钥到linux服务器
后面的步骤可以参考我之前的一篇博客,配置ssh登录。
配置ssh免密登录

上传方式就不多说了,把刚才的文件上传到 /root/.ssh/目录下
然后把证书添加到ssh授权文件中,命令是:

cat ***.pub >> authorized_keys

如果是第一次配置的服务端,还需要注意authorized_keys的权限是否正确

chmod 600 authorized_keys

到此,我们刚才生成的公钥就得到了目标服务端的信任了

3、配置Xshell使用密钥认证方式登录

新建一个连接会话

XSHELL 如何用秘钥登陆centos xshell私钥登录_xshell_04


切换到用户身份验证界面,选择为证书登录模式,选择刚才生成的密钥,如果对密钥设置了密码,还要在密码框这里输入密码。完成配置后,点击确定即可。

XSHELL 如何用秘钥登陆centos xshell私钥登录_ssh登录_05

这样,就可以使用Xshell进行证书登录了