Linux远程SSH方式使用证书安全登录(咋个办呢-zgbn)

Linux远程SSH方式使用证书安全登录

  • 服务器:阿里云服务器
  • 操作系统:CentOS 7(Linux)
  • 远程客户端:Xshell5(SSH 证书)
  • 登录用户:root

在服务端创建公钥和私钥

使用root用户登录系统,并处于当前root用户默认的目录下。

[root@iZ28snxdn5mZ ~]# who
root     pts/0        2017-12-03 14:06 (123.114.108.80)
[root@iZ28snxdn5mZ ~]# pwd
/root
[root@iZ28snxdn5mZ ~]#

执行ssh-keygen -t rsa命令创建公钥私钥文件。
ssh-keygen -t rsa -C 'user@mail.com'
其中-t指定密钥类型,这里设置rsa即可,-c是密钥的注释,这里设置成邮箱方便分辨;

[root@iZ28snxdn5mZ ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): /root/.ssh/root_rsa
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): #设置密码#
Enter same passphrase again: #设置密码#
[root@iZ28snxdn5mZ ~]# ll .ssh
total 2
-rw------- 1 root root 1766 Dec  3 16:23 root_rsa
-rw-r--r-- 1 root root  399 Dec  3 16:23 root_rsa.pub
[root@iZ28snxdn5mZ ~]#

进入.ssh秘钥所在目录

[root@iZ28snxdn5mZ ~]# cd .ssh
[root@iZ28snxdn5mZ .ssh]# pwd
/root/.ssh

将公钥导入当前用户登录脚本中

[root@iZ28snxdn5mZ .ssh]# cat ./root_rsa.pub >> ./authorized_keys
[root@iZ28snxdn5mZ .ssh]# ll
total 12
-rw-r--r-- 1 root root  399 Dec  3 16:28 authorized_keys
-rw------- 1 root root 1766 Dec  3 16:23 root_rsa
-rw-r--r-- 1 root root  399 Dec  3 16:23 root_rsa.pub

设置用户登录秘钥和登录脚本权限

[root@iZ28snxdn5mZ ~]# pwd
/root
[root@iZ28snxdn5mZ ~]# chmod -R 700 .ssh
[root@iZ28snxdn5mZ .ssh]# chmod -R 644 .ssh/authorized_keys

修改ssh配置文件属性

[root@iZ28snxdn5mZ etc]# vi /etc/ssh/sshd_config

调整下面的属性参数

#StrictModes no 
# 修改为no,默认为yes.如果不修改用key登陆是出现server refused our key(如果StrictModes为yes必需保证存放公钥的文件夹的拥有与登陆用户名是相同的.“StrictModes”设置ssh在接收登录请求之前是否检查用户家目录和rhosts文件的权限和所有权。这通常是必要的,因为新手经常会把自己的目录和文件设成任何人都有写权限。)
#PermitRootLogin yes         #允许root认证登录
#PasswordAuthentication yes  #允许密码认证
#Port 22   #ssh默认端口
#ListenAddress 0.0.0.0   #绑定监听IP
#AuthorizedKeysFile     .ssh/authorized_keys  #默认公钥存放的位置
#PubkeyAuthentication yes #允许密码认证
#PasswordAuthentication yes  #允许密码认证
StrictModes no
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

重启一下ssh服务

[root@iZ28snxdn5mZ .ssh]# systemctl restart sshd.service

#Xshell5客户端通过证书连接服务器

创建一个连接会话,填写主机连接信息。

这里写图片描述

从服务器上下载生成的秘钥文件,导入到客户端连接中。

这里写图片描述

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值