centos 密钥登录(centos7退出登录命令)
大家好,今天给各位分享centos 密钥登录的一些知识,其中也会对centos7退出登录命令进行解释,文章篇幅可能偏长,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在就马上开始吧!
Centos7SSH密钥登陆及密码密钥双重验证详解
一、首先登陆centos,切换用户,切换到你要免密码登陆的用户,进入到家目录,以下我以root为例,命令:
su root
cd~
二、创建钥匙,命令:ssh-keygen-t rsa,一路按Y搞定
三、按照流程走完后会在~/.ssh目录下(用户所在家目录下的.ssh目录)看到id_rsa, id_rsa.pub文件第一个是私有密钥第二个是公共密钥
四、修改SSH配置文件,命令:vim/etc/ssh/sshd_config
#禁用root账户登录,如果是用root用户登录请开启
PermitRootLogin yes
#是否让 sshd去检查用户家目录或相关档案的权限数据,
#这是为了担心使用者将某些重要档案的权限设错,可能会导致一些问题所致。
#例如使用者的~.ssh/权限设错时,某些特殊情况下会不许用户登入
StrictModes no
#是否允许用户自行使用成对的密钥系统进行登入行为,仅针对 version 2。
#至于自制的公钥数据就放置于用户家目录下的.ssh/authorized_keys内
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile.ssh/authorized_keys
#有了证书登录了,就禁用密码登录吧,安全要紧
PasswordAuthentication no
五、因为在第四步指定了AuthorizedKeysFile的放置位置为.ssh/authorized_keys,所以还需把公钥数据id_rsa.pub附加到 authorized_keys这个档案内才行,命令:
cd~/.ssh
cat id_ras.pub>> authorized_keys
重启SSH服务,命令:systemctl restart sshd.service
六、下载私钥,这里我使用了rz/sz工具(你也可以使用其他方式),系统默认没有安装,先安装,命令:yum-y install lrzsz
SecureCRT配置:选项→会话选项→X/Y/Zmodem,修改上传和下载的目录。
现在开始下载,命令:
cd~/.ssh
sz id_ras
然后到你之前配置的下载目录去找,把私钥导入到SecurtCRT,方法:
选项→会话选项→SSH2,在鉴权一栏中点击公钥(注意因为前面已经禁用了密码登陆,我们还得把密码这一栏的勾去掉,否则会无法登陆),点属性,点击使用会话公钥设置,然后在下方的使用身份或证书文件中,选择你刚才下载来的私钥文件,点确定即可。
七、以上所有配置完成,看网上别的教程还说要注意各文件权限问题,我做实验的过程没有遇到,也可能我使用的是root用户的原因,如果你们在过程中有权限报错,建议权限设置:
~/.ssh/ 700
.ssh/authorized_keys 644
.ssh/id_rsa 600且属于你当前要添加的用户
八、让服务器更安全,开启密码和证书双重验证,先修改SSH配置文件:
vim/etc/ssh/sshd_config
PasswordAuthentication改为yes
然后再加一条:uthenticationMethods publickey,password
重启SSH服务:systemctl restart sshd.service
SecureCRT配置:因为之前在第六步中把密码去掉了,还得把它再勾起来,选项→会话选项→SSH2,把密码这一栏勾起来即可。
个人经验:在配置完成后不要关闭当前SecurtCRT的连接窗口,你可以使用新建连接尝试登陆,以免配置出错,造成服务器无法登陆。
Linux用户使用密钥登录详解
首先对ssh的配置文件有一个简单的了解
ssh服务端配置文件位置:/etc/ssh/sshd_config
ssh客户端配置文件位置:/etc/ssh/ssh_config
一般情况下,只需要调整服务端配置就可以了
sshd_config简单常用配置解析:
HostKey/etc/ssh/ssh_host_rsa_key?????????????设置包含服务器个人密钥文件位置(默认即可,不用修改)
SyslogFacility?AUTHPRIV???????????????????#定义ssh的日志级别为authpriv.info级别。ssh的日志可以在/var/log/secure中查看
PermitEmptyPasswords?no???????????????#设置是否允许口令为空的登录
PermitRootLogin?? no???????????????????????????#设置是否允许root登录
RSAAuthentication yes???????????????????????#设置是否使用RSA算法进行安全验证
AuthorizedKeysFile??.ssh/authorized_keys???????????????#设置服务器上公钥保存的位置(默认即可,不用修改)
PasswordAuthentication??yes??????????????????#设置是否使用口令登录
PubkeyAuthentication?yes????????????????????????#设置是否使用密钥认证方式登录
本次实验环境:
[root@k8s-etcd-2?~]#?cat?/etc/centos-releaseCentOS?Linux?release?7.4.1708?(Core)[root@k8s-etcd-2?~]#?uname?-r3.10.0-693.el7.x86_64场景一:禁用root口令登录,root用户只使用密钥登录调整ssh配置[root@k8s-etcd-2?~]#?vim?/etc/ssh/sshd_configRSAAuthentication???yes?????#取消注释,开启RSA验证PubkeyAuthentication????yes?????#取消注释,开启使用密钥验证登录使用ssh-keygen来生成RSA密钥
id_rsa文件为私钥
id_rsa.pub是公钥
使用参数:-t?????指定使用密钥类型
[root@k8s-etcd-2?~]#?ssh-keygen?-t?rsaGenerating?public/private?rsa?key?pair.Enter?file?in?which?to?save?the?key?(/root/.ssh/id_rsa):????????????#配置密钥文件存放位置,如果是给root用户配置,那此步骤默认即可Enter?passphrase?(empty?for?no?passphrase):?????#输入密钥登录密码(如果想使用无密码登录,那就默认回车即可)Enter?same?passphrase?again:????????#再次输入密钥登录密码Your?identification?has?been?saved?in?/root/.ssh/id_rsa.????????#密钥(私钥)存放位置Your?public?key?has?been?saved?in?/root/.ssh/id_rsa.pub.????#密钥(公钥)存放位置The?key?fingerprint?is:SHA256:gVPrl0jjIAa0JeM94gTrtmHiXCz0BIJBHgqaj3MJyZY?root@k8s-etcd-2The?key's?randomart?image?is:………………
下图为示例图:
将公钥导入到授权密钥文件里[root@k8s-etcd-2?~]#?cd?.ssh/[root@k8s-etcd-2?.ssh]#?cat?id_rsa.pub?>>?authorized_keys重启服务[root@k8s-etcd-2?.ssh]#?systemctl?restart?sshd
此时就可以使用密钥登录了
这里简单进行测试一下:
我使用的是MobaXterm客户端连接的,不过Xshell或者CRT配置密钥登录都很简单,应该在会话配置里就可以配置
添加连接密钥配置
**然后会让输入密钥的密码:**如果没有配置密码,那么就直接登录了**输入密码登录即可:****`注:保存好id_rsa私钥文件就可以了,不然丢失了比较麻烦,安全起见服务器上的私钥文件就可以删除了`**
场景二:仅支持非root用户使用密钥登录
和场景一配置很类似,只是新加了一点配置而已
调整ssh配置[root@k8s-etcd-2?home]#?vim?/etc/ssh/sshd_configRSAAuthentication???yes?????#取消注释,开启RSA验证PubkeyAuthentication????yes?????#取消注释,开启使用密钥验证登录PermitRootLogin???no????????????#取消注释,关闭root登录创建新用户[root@k8s-etcd-2?home]#?useradd?test[root@k8s-etcd-2?home]#?mkdir?test/.ssh生成RSA密钥[root@k8s-etcd-2?test]#?ssh-keygen?-t?rsaGenerating?public/private?rsa?key?pair.Enter?file?in?which?to?save?the?key?(/root/.ssh/id_rsa):?/home/test/.ssh/test_rsaEnter?passphrase?(empty?for?no?passphrase):Enter?same?passphrase?again:Your?identification?has?been?saved?in?/home/test/.ssh/test_rsa.Your?public?key?has?been?saved?in?/home/test/.ssh/test_rsa.pub.…………[root@k8s-etcd-2?test]#?ls?.ssh/test_rsa??test_rsa.pub
下图为示例图:
将公钥导入到用户授权密钥文件里[root@k8s-etcd-2?test]#?cat?.ssh/test_rsa.pub?>>?.ssh/authorized_keys重启服务[root@k8s-etcd-2?.test]#?systemctl?restart?sshd使用密钥登录即可
此时就可以达到仅非root用户使用密钥登录服务器,安全性得到提升!注:保存好id_rsa私钥文件就可以了,不然丢失了比较麻烦,安全起见服务器上的私钥文件就可以删除了
Centos7 SSH密钥登陆及密码密钥双重验证详解
一、首先登陆centos,切换用户,切换到你要免密码登陆的用户,进入到家目录,以下我以root为例,命令:
su root
cd~
二、创建钥匙,命令:ssh-keygen-t rsa,一路按Y搞定
三、按照流程走完后会在~/.ssh目录下(用户所在家目录下的.ssh目录)看到id_rsa, id_rsa.pub文件第一个是私有密钥第二个是公共密钥
四、修改SSH配置文件,命令:vim/etc/ssh/sshd_config
#禁用root账户登录,如果是用root用户登录请开启
PermitRootLogin yes
#是否让 sshd去检查用户家目录或相关档案的权限数据,
#这是为了担心使用者将某些重要档案的权限设错,可能会导致一些问题所致。
#例如使用者的~.ssh/权限设错时,某些特殊情况下会不许用户登入
StrictModes no
#是否允许用户自行使用成对的密钥系统进行登入行为,仅针对 version 2。
#至于自制的公钥数据就放置于用户家目录下的.ssh/authorized_keys内
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile.ssh/authorized_keys
#有了证书登录了,就禁用密码登录吧,安全要紧
PasswordAuthentication no
五、因为在第四步指定了AuthorizedKeysFile的放置位置为.ssh/authorized_keys,所以还需把公钥数据id_rsa.pub附加到 authorized_keys这个档案内才行,命令:
cd~/.ssh
cat id_ras.pub authorized_keys
重启SSH服务,命令:systemctl restart sshd.service
六、下载私钥,这里我使用了rz/sz工具(你也可以使用其他方式),系统默认没有安装,先安装,命令:yum-y install lrzsz
SecureCRT配置:选项会话选项X/Y/Zmodem,修改上传和下载的目录。
现在开始下载,命令:
cd~/.ssh
sz id_ras
然后到你之前配置的下载目录去找,把私钥导入到SecurtCRT,方法:
选项会话选项SSH2,在鉴权一栏中点击公钥(注意因为前面已经禁用了密码登陆,我们还得把密码这一栏的勾去掉,否则会无法登陆),点属性,点击使用会话公钥设置,然后在下方的使用身份或证书文件中,选择你刚才下载来的私钥文件,点确定即可。
七、以上所有配置完成,看网上别的教程还说要注意各文件权限问题,我做实验的过程没有遇到,也可能我使用的是root用户的原因,如果你们在过程中有权限报错,建议权限设置:
~/.ssh/ 700
.ssh/authorized_keys 644
.ssh/id_rsa 600且属于你当前要添加的用户
八、让服务器更安全,开启密码和证书双重验证,先修改SSH配置文件:
vim/etc/ssh/sshd_config
PasswordAuthentication改为yes
然后再加一条:uthenticationMethods publickey,password
重启SSH服务:systemctl restart sshd.service
SecureCRT配置:因为之前在第六步中把密码去掉了,还得把它再勾起来,选项会话选项SSH2,把密码这一栏勾起来即可。
个人经验:在配置完成后不要关闭当前SecurtCRT的连接窗口,你可以使用新建连接尝试登陆,以免配置出错,造成服务器无法登陆。