前言:
眼前同学们对“centossftp新增用户”大约比较重视,姐妹们都需要剖析一些“centossftp新增用户”的相关内容。那么小编在网摘上网罗了一些对于“centossftp新增用户””的相关文章,希望咱们能喜欢,小伙伴们一起来了解一下吧!上文:Linux服务器配置-SSH远程登录管理(二)
基于密钥对登录认证配置
一、 密钥对验证配置图
二、实例配置要求说明
现在要用客户端使用密钥对认证方式分别登录CentOS6远程主机(IP192.168.1.90)和RHEL7远程主机(IP192.168.1.93),要求对CentOS6主机使用root用户登录,对RHEL7主机使用普通用户(snowfox)登录。
三、SSH配置步骤
1、 在客户端上创建密钥对文件
在Linux客户端上创建密钥对文件。
ssh-keygen -t rsa
系统会提示用户保存密钥对文件名及路径、是否设置密码,这里直接回车使用系统默认的保存路径及文件名,并设置私钥密码。
注:系统默认保存路径为:用户家目录/.ssh/目录中。默认文件名为:id_rsa为私钥文件,id_rsa_pub为公钥文件。
如私钥密码为空,视为无密码。
在Windows客户端上用SSH工具创建密钥对文件。(以Xshell工具为例)
打开Xshell软件,选择【工具】->【用户密钥管理者】
点击【生成】按钮
选择【密钥类型】和【密钥长度】->【下一步】
系统生成密钥对->【下一步】
在【密钥名称】中输入文件名,在【密码】框中输入私钥密码->【下一步】
注:密码为空,视为无密码。
在【公钥格式】下拉框中选择SSH2-OpenSSH,然后单击【保存为文件】将公钥保存至Windows客户端上,以后使用。
2、 将客户端生成的公钥文件上传到服务器(Server)端(这里以Linux客户端生成的公钥文件为例)
scp .ssh/id_rsa.pub root@192.168.1.90:/root/
scp .ssh/id_rsa.pub root@192.168.1.93:/root/
由于现在两台服务器可以通过密码方式认证登录,所以可以使用scp命令传输文件。
3、 进入服务器端,将客户端上传的公钥文件,导入至~/.ssh/authorized_keys文件中。
客户端用什么用户身份登录到服务器上,与客户端无关。它取决于服务器上将客户端的公钥信息保存在什么位置上;如果保存在root家目录下的.ssh/authorized_keys文件中,就允许客户端用root身份登录服务器(sshd_config配置文件需要设置允许root用户登录);保存在普通用户家目录下的.ssh/authorized_keys文件中,就允许用其身份登录客户端。
在CentOS6远程主机中(CentOS6主机需root用户登录)
在root用户家目录中查询是否存在.ssh目录,如不存在需要新建.ssh目录。
mkdir .ssh
导入上传的公钥至公钥库文件中。
cat /root/id_rsa.pub >> .ssh/authorized_keys
修改公钥库文件的权限为600并删除上传的公钥文件。
chmod 600 .ssh/authorized_keys
如果系统开启了SELinux,还需以下操作。
用getenforce命令查询SELinux的运行模式
enforcing 强制模式
permissive 警告模式
disabled 禁用模式
如果不是显示disabled,则表明系统已经开启了SELinux。
用ls -Z 命令查看文件或目录的上下文类型
ls -ldZ .ssh
用 chcon -t 命令更改文件或目录的上下文类型
chcon -Rt ssh_home_t .ssh
在RHEL7远程主机中(RHEL7主机需普通用户snowfox登录)
与上面的做法基本相同这里就不再讲述,只是注意.ssh/authorized_keys文件是在普通用户的家目录中,并注意更改.ssh目录和authorized_keys文件的所有者。
注:将客户端公钥导入至,信息文件中时,要使用>>重定向追加输出至authorized_keys文件中,否则会将原有的信息删除,可以用此方法追加多台客户端公钥。
4、 修改服务器端sshd_config配置文件
· 在CentOS6远程主机中
Protocol 2
SyslogFacility AUTHPRIV
PermitRootLogin yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no
ChallengeResponseAuthentication no
GSSAPIAuthentication yes
GSSAPICleanupCredentials yes
UsePAM yes
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS
X11Forwarding yes
Subsystem sftp /usr/libexec/openssh/sftp- server
在RHEL7远程主机中
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
SyslogFacility AUTHPRIV
PermitRootLogin no
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no
ChallengeResponseAuthentication no
GSSAPIAuthentication yes
GSSAPICleanupCredentials yes
UsePAM yes
X11Forwarding yes
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS
Subsystem sftp /usr/libexec/openssh/sftp- server
5、重启SSH服务
在CentOS6远程主机中
service sshd restart
在RHEL7远程主机中
systemctl restart sshd
6、 登录到远程主机
用Linux客户端登录远程主机
用root用户登录CentOS6远程主机并退出。
ssh root@192.168.1.90
用普通用户登录RHEL7远程主机并退出。
ssh snowfox@192.168.1.93
用Windows客户端通过SSH工具登录远程主机
将Linux客户端创建的私钥文件(id_rsa)拷贝至Windows客户端。(用Xftp、WinSCP等软件都可,这里不再讲述。)
打开Windows ssh工具,这里以Xshell为例。
选择【工具】->【用户密钥管理者】
点击【导入】按钮
选择从Linux客户端上保存的私钥文件->点击【打开】
输入私钥密码,点击【确定】
单击【关闭】
选择【文件】菜单->【新建】,开启【新建会话属性】页。
创建新的会话连接,在上篇文章中已经介绍,这里不再讲述。
只是在【用户身份认证】时,进行如下选择。
在【方法】中选择Public Key,即用密钥对证方式进行连接认证。
在【用户名】中输入远程主机的用户名。(必须是远程主机中已存在的用户)。
在【用户密钥】中选择刚刚导入的私钥。
在【密码】中输入私钥的密码。
单击【连接】,就可以通过密钥对的方式连接远程主机了。
以上是我在学习Linux系统中整理的一些学习要点,肯定会有不对的地方,希望各位大侠给与指正,我们共同学习!谢谢!
Linux服务器配置-SSH远程登录管理(四)
实例说明SSH更改端口后的配置,主要是防火墙及SELinux。
标签: #centossftp新增用户