Linux的远程访问及控制

Posted 他和晚风一样温柔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux的远程访问及控制相关的知识,希望对你有一定的参考价值。

OpenSSH服务器

SSH (Secure Shell)协议

  • 是一种安全通道协议
  • 对通信数据进行了加密处理,用于远程管理

OpenSSH

  • 服务名称: sshd
  • 服务端主程序:/usr/sbin/sshd
  • 服务端配置文件:letc/ssh/sshd_config

SSH远程管理

1.SSH (Secure Shell)是一种安全通道协议,主要用来实现字符界面的远程登录、远程复制等功能。
2.SsH协议对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户口令。因此sSH协议具有很好的安全性。
如图:
在这里插入图片描述
注:
OpenSSH是实现 sSH 协议的开源软件项目,适用于各种 UNIX、Linux操作系统。
Centos 7系统默认已安装openssh相关软件包,并已将 sshd 服务添加为开机自启动
执行"systemctl start sshd"命令即可启动sshd服务
sshd服务默认使用的是TcP的22端口
sshd服务的默认配置文件是/etc/ssh/ sshd config
如图:查看
在这里插入图片描述
注:sSsh config和sshd config都是ssh服务器的配置文件,二者区别在于前者是针对客户端的配置文件,后者则是针对服务端的配置文件。
如图
在这里插入图片描述

配置opensSH服务端

sshd_config配置文件的常用选项设置

vim /etc/ssh/sshd_config
Port 22                     #监听端口为22
ListenAddress o.0.o.o               #监听地址为任意网段,也可以指定OpensSH服务器的具体IP

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

PermitEmptyPasswords no           #禁止空密码用户登录
UseDNS no                  #禁用DNS 反向解析,以提高服务器的响应速度

注:这些都可以修改的

做个实验:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
注:密码错误6次不能登录了

设置黑白名单

只允许zhangsan、lisi、wangwu用户登录,且其中wangwu用户仅能够从IP地址为61.23.24.25的主机远程登录AllowUsers zhangsan lisi wangwu@61.23.24.25 #禁止某些用户登录
用法于AllowUsers类似(注意不要同时使用)
DenyUsers zhangsan
如图
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

注:这个用户已经被拒绝了,我们在换个用户试试
在这里插入图片描述
注:这就设置黑名单方法
如何设置白名单
如图
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
注:这是我们从新打开一个虚拟机这台虚拟机ip地址是192.168.26.26
在这里插入图片描述
注:这样就可以登录了,这就是白名单,只能指定用户和指定的ip地址才能登录

SSHD服务支持两种验证方式

1.密码验证

  • 对服务器中本地系统用户的登录名称、密码进行验证。简便,但可能会被暴力破解

2.密钥对验证

  • 要求提供相匹配的密钥信息才能通过验证。通常先在客户端中创建一对密钥文件(公钥、私钥),然后将公钥文件放到服务器中的指定位置。远程登录时,系统将使用公钥、私钥进行加密/解密关联验证。能增强安全性,且可以免交互登录。

3.公钥和私钥的关系:

  • 公钥和私钥是成对生成的,这两个密钥互不相同,可以互相加密和解密。
  • 不能根据一个密钥来推算出另一个密钥。
  • 公钥对外公开,私钥只有私钥的持有人才知道。

当密码验证、密钥对验证都启用时,服务器将优先使用密钥对验证。可根据实际情况设置验证方式。

vim letcl ssh/ sshd_config

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

使用ssH客户端程序

1.SSH远程登录
命令:SSH [选项] zhangsan@192.168.80.10
注:当用户第一次登录ssH服务器时,必须接受服务器发来的ECDS.A密钥(根据提示输入"yes")后才能继续验证。接收的密钥信息将保存到~/. ssh/known hosts文件中。密码验证成功以后,即可登录目标服务器的命令行环境中了。

常用选项
-p:指定非默认的端口号,缺省时默认使用22端口
ssh -p 2345 zhangsan@192.168.80.10

2.scp远程复制
下行复制
scp root@192.168.80.11:/etc/passwd /root/passwd10.txt #将远程主机中的/etc/passwd文件复制到本机
上行复制
scp -r letc/ ssh/ root@192.168.80.10: / opt #将本机的/etc/ ssh目录复制到远程主机

3.sftp安全FTP
由于使用了加密/解密技术,所以传输效率比普通的FTP要低,但安全性更高。操作语法sftp与ftp几乎一样。

sftp zhangsan@192.168.80.10
Connecting to 192.168.80.10...
tsengyia@172.16.16.22's password :              #输入密码
sftp> ls
sftp>get     文件名              #下载文件到ftp目录
sftp>put    文件名               #上传文件到ftp目录
sftp> quit                           #退出

TCP Wrappers 访问控制

  • TCP Wrappers 像一张防护网、一个过滤器,保护着TCP服务程序,它会监听TCP服务程序的端口,并执行一次安全检测过程;外来的连接请求必须先通过这层安全检测,获得许可后才能访问真正的服务程序
  • 在 众多 Linux 发行版本中,TCP Wrappers 是默认提供的功能
  • 如果没有安装,使用 rpm -q tcp_wrappers 安装

TCP Wrapper 保护机制的实现方式

以上是关于Linux的远程访问及控制的主要内容,如果未能解决你的问题,请参考以下文章

Linux远程访问及控制

Linux网络服务10——远程访问及控制

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

Linux中远程访问及控制

Linux的远程访问及控制

Linux网络服务——远程访问及控制(ssh远程访问实验)