在CenOS 7系统中,OpenSSH服务器是由系统盘中的openssh、openssh-server等软件包提供的(默认已经安装),并且已经将sshd添加为标准的系统服务,可以执行systemctl status sshd来查看服务的状态。只要拥有合法的登录shell,在不考虑安全限制的情况下,都可以远程登录操作系统。

sshd服务的配置文件默认位于 /etc/ssh/sshd_config目录下,其中有很多配置项用来控制连接本服务器的。大概可以分为三个方面,如下所示:

1、服务器监听相关设置:

[root@localhost ~]# vim  /etc/ssh/sshd_config

Port 22                   #监听端口默认为22
ListenAddress 0.0.0.0             #默认监听所有地址
protocol 2                 #使用SSH  V2协议,比V1安全性更高
UseDNS no                #禁用DNS反向解析

2、控制用户登录的相关控制:

LoginGraceTime 2m                       #登录验证时间为2分钟
PermitRootLogin no                       #禁止root用户登录
MaxAuthTries 6                             #最大重试次数为6
PermitEmptyPasswords no           #禁止空密码登录

3、登录验证方式:

PasswordAuthentication yes          #启用密码验证
PubkeyAuthentication yes              #启用密钥对验证
AuthorizedKeysFile      .ssh/authorized_keys        #指定公钥库文件

在生产环境下,建议更改的配置项如下:

[root@localhost ~]# vim  /etc/ssh/sshd_config

Port 2345                   #监听端口默认为2345
ListenAddress 172.16.2.25             #监听某一个IP地址   ,而不是监听所有IP地址
protocol 2                 #使用SSH  V2协议,比V1安全性更高
UseDNS no                #禁用DNS反向解析
LoginGraceTime 2m                       #登录验证时间为2分钟
PermitRootLogin no                       #禁止root用户登录
MaxAuthTries 6                             #最大重试次数为6
PermitEmptyPasswords no           #禁止空密码登录
PasswordAuthentication yes          #启用密码验证
PubkeyAuthentication yes              #启用密钥对验证
AuthorizedKeysFile      .ssh/authorized_keys        #指定公钥库文件
AllowUsers zhangsan [email protected]            #仅允许zhangsan和admin远程登录到
#该服务器,并且admin只能从61.23.24.25这个主机登录到该服务器。
#AllowUsers表示仅允许;与之相反的还有DenyUsers:表示仅拒绝。这两个配置项不允许同时出现

使用SSH客户端程序,远程连接到服务器:

[root@localhost ~]# ssh -p 2345 [email protected]               #以用户zhangsan连接到192.168.1.1
# “-p”选项用来指定端口号为2345,若端口号为默认的22,那么-p选项可省略。
The authenticity of host '192.168.1.1 (192.168.1.1)' can't be established.
ECDSA key fingerprint is ad:a1:9b:f7:e3:41:bf:5f:da:cd:5e:3f:74:e0:8a:b9.
Are you sure you want to continue connecting (yes/no)? yes              #输入“yes”
Warning: Permanently added '192.168.1.1' (ECDSA) to the list of known hosts.
[email protected]'s password:               #输入用户zhangsan的密码
[zhangsan@localhost ~]$                   #连接成功

scp远程复制:

若远程目标不是默认的端口号,则需要加“ -P ”选项来指定端口号

上传:
[root@localhost /]# scp -r /etc/passwd [email protected]:/           
#将本地/etc/passwd目录上传到远程主机“/”目录下
[email protected]'s password:                        #输入1.1主机的root密码
passwd                                  100% 2893     2.8KB/s   00:00     #上传成功

下载:
[root@localhost /]# scp [email protected]:/test.txt /root/           #将1.1主机的文件下载到本地
[email protected]'s password: 
test.txt                                100%   20     0.0KB/s   00:00