浅谈 SSH 远程管理配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了浅谈 SSH 远程管理配置相关的知识,希望对你有一定的参考价值。

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

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

服务监听选项:

[root@localhost /]# vim /etc/ssh/sshd_config 
Port    22                    // 端口号 , 默认为 22
ListenAddress   192.168.1.10        // 监听地址,默认监听所有地址
protocol   2                 // 使用 SSH   V2 协议
........                          // 省略
UseDNS   no             // 禁用 DNS 反向解析
........                         // 省略

用户登录控制:

[root@localhost /]# vim /etc/ssh/sshd_config 
LoginGraceTime     2m                         // 登录验证时间为 2 分钟
PermitRootLogin     no                         // 禁止 root 用户登录
MaxAuthTries           6                          // 最大重试次数为 6
PermitEmptyPasswords       no            // 禁止空密码用户登录

登录验证方式:

[root@localhost /]# vim /etc/ssh/sshd_config 
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   lisi@192.168.2.10            #仅允许zhangsan和admin远程登录到
#该服务器,并且admin只能从192.168.2.10这个主机登录到该服务器。
#AllowUsers表示仅允许;与之相反的还有DenyUsers:表示仅拒绝。这两个配置项不允许同时出现

ssh 远程登录:

[root@localhost ~]# ssh -p 2345 zhangsan@192.168.1.10               #以用户zhangsan连接到192.168.1.10
# “-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.
zhangsan@192.168.1.1‘s password:               # 输入用户zhangsan的密码
[zhangsan@localhost ~]$                   # 连接成功

scp远程复制:

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

上传:

[root@localhost /]# scp -r /a.txt  root@192.168.1.1:/tmp           
#将本地/a.txt 文件上传到远程主机“/tmp”目录下
root@192.168.1.10‘s password:                        #输入1.10主机的root密码
passwd                                  100% 2893     2.8KB/s   00:00     #上传成功

下载:

[root@localhost /]# scp root@192.168.1.1:/b.txt /root/           #将1.10主机的文件下载到本地
root@192.168.1.10‘s password: 
b.txt                                100%   20     0.0KB/s   00:00    

以上是关于浅谈 SSH 远程管理配置的主要内容,如果未能解决你的问题,请参考以下文章

浅谈 Linux 下的 SSH1, SSH2

浅谈软件配置管理工具(github & SVN)

配置ssh远程登录

Linux——远程访问及控制(SSH远程管理与配置)

ssh远程管理服务配置

SSH远程管理常用的几种配置