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的连接窗口,你可以使用新建连接尝试登陆,以免配置出错,造成服务器无法登陆。

阅读剩余
THE END