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 '[email protected]'
其中-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客户端通过证书连接服务器

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

Linux远程SSH方式使用证书安全登录(咋个办呢-zgbn)_第1张图片

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

Linux远程SSH方式使用证书安全登录(咋个办呢-zgbn)_第2张图片

你可能感兴趣的:(linux,运维)