配置Centos7 SSH密钥登录及密码密钥双重验证

1、首先登录centos,切换用户,切换到你要免密码登录的用户,进入到家目录,如下我以root为例,命令:
su root
cd ~vim


2、建立钥匙,命令:ssh-keygen -t rsa,一路按Y搞定centos


3、按照流程走完后会在 ~/.ssh目录下(用户所在家目录下的.ssh目录)看到id_rsa, id_rsa.pub文件 第一个是私有密钥 第二个是公共密钥安全


4、修改SSH配置文件,命令:vim /etc/ssh/sshd_config服务器

#禁用root帐户登陆,若是是用root用户登陆请开启
PermitRootLogin yesssh

# 是否让 sshd 去检查用户家目录或相关档案的权限数据,
# 这是为了担忧使用者将某些重要档案的权限设错,可能会致使一些问题所致。
# 例如使用者的 ~.ssh/ 权限设错时,某些特殊状况下会不准用户登入
StrictModes noide

# 是否容许用户自行使用成对的密钥系统进行登入行为,仅针对 version 2。
# 至于自制的公钥数据就放置于用户家目录下的 .ssh/authorized_keys 内
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys工具

# 有了证书登陆了,就禁用密码登陆吧,安全要紧
PasswordAuthentication norest


5、由于在第四步指定了AuthorizedKeysFile的放置位置为.ssh/authorized_keys,因此还需把公钥数据id_rsa.pub附加到 authorized_keys 这个档案内才行,命令:
cd ~/.ssh
cat id_ras.pub >> authorized_keys教程

重启SSH服务,命令:systemctl restart sshd.serviceit


6、下载私钥,这里我使用了rz/sz工具(你也可使用其余方式),系统默认没有安装,先安装,命令:yum -y install lrzsz
SecureCRT配置:选项→会话选项→X/Y/Zmodem,修改上传和下载的目录。
如今开始下载,命令:
cd ~/.ssh
sz id_ras
而后到你以前配置的下载目录去找,把私钥导入到SecurtCRT,方法:
选项→会话选项→SSH2,在鉴权一栏中点击公钥(注意由于前面已经禁用了密码登录,咱们还得把密码这一栏的勾去掉,不然会没法登录),点属性,点击使用会话公钥设置,而后在下方的使用身份或证书文件中,选择你刚才下载来的私钥文件,点肯定便可。


7、以上全部配置完成,看网上别的教程还说要注意各文件权限问题,我作实验的过程没有遇到,也可能我使用的是root用户的缘由,若是大家在过程当中有权限报错,建议权限设置:
~/.ssh/                     700
.ssh/authorized_keys        644
.ssh/id_rsa                 600  且属于你当前要添加的用户


8、让服务器更安全,开启密码和证书双重验证,先修改SSH配置文件:
vim /etc/ssh/sshd_config

PasswordAuthentication 改成yes

而后再加一条:AuthenticationMethods publickey,password
重启SSH服务:systemctl restart sshd.service
SecureCRT配置:由于以前在第六步中把密码去掉了,还得把它再勾起来,选项→会话选项→SSH2,把密码这一栏勾起来便可。

我的经验:在配置完成后不要关闭当前SecurtCRT的链接窗口,你可使用新建链接尝试登录,以避免配置出错,形成服务器没法登录。