Linux—远程访问及控制 详解OpensSSH服务端,客户端和构建密钥!还有TCP Wrappers概述!超详细!一步一截图,新手也能学会!

远程访问及控制

  • 一、SSH远程管理
    • 1.1、配置OpenSSH服务端
      • 1.1.1、OpenSSH服务器
    • 1.2、使用SSH客户端程序
    • 1.3、密钥对验证的SSH体系
      • 1.3.1、整体实现过程
      • 1.3.2、在客户机中创建密钥对
      • 1.3.3、将公钥文件上传至服务器
      • 1.3.4、在服务器中导入公钥文本
      • 1.3.5、客户端使用密钥对验证登录
      • 1.3.6、第2步和第3步可以采用另外一种方法
  • 二、TCP Wrappers访问控制
    • 2.1、TCP Wrappers概述
      • 2.1.1、保护机制的实现方式
      • 2.1.2、访问控制策略的配置文件
    • 2.2、TCP Wrappers访问策略
      • 2.2.1、设置访问控制策略
      • 2.2.2、策略的应用顺序
      • 2.2.3、策略应用示例
  • 三、本章总结

一、SSH远程管理

1.1、配置OpenSSH服务端

1.1.1、OpenSSH服务器

■SSH (Secure Shell)协议

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

■OpenSSH

  • 服务名称: sshd
  • 服务端主程序: /usr/sbin/sshd
  • 服务端配置文件: /etc/ssh/sshd_ _config

■服务监听选项

  • 端口号、协议版本、监听IP地址
  • 禁用反向解析
[root@localhost ~]# vi /etc/ssh/sshd_ config
......
Port 22
ListenAddress 172.16.16.22   ###监听端口要填管理平面IP地址;分为管理平面,数据平面
Protocol 2
UseDNS no

实例:
进入 vi /etc/ssh/sshd_config
在这里插入图片描述服务监听选项

Linux—远程访问及控制 详解OpensSSH服务端,客户端和构建密钥!还有TCP Wrappers概述!超详细!一步一截图,新手也能学会!_第1张图片Linux—远程访问及控制 详解OpensSSH服务端,客户端和构建密钥!还有TCP Wrappers概述!超详细!一步一截图,新手也能学会!_第2张图片

■用户登录控制

  • 禁用root用户、空密码用户
  • 限制登录验证时间、重试次数
  • AllowUsers、DenyUsers
[root@localhost ~]# vi /etc/ssh/sshd_ config
LoginGrace Time 2m
PermitRootL ogin no
MaxAuthTries 6
PermitEmptyPasswords no    ###AllowUsers不要与DenyUsers同时用
.......
AllowUsers jerry admin@61 .23.24.25

用户登录控制

Linux—远程访问及控制 详解OpensSSH服务端,客户端和构建密钥!还有TCP Wrappers概述!超详细!一步一截图,新手也能学会!_第3张图片
在这里插入图片描述
①这里验证最大重试登录次数,如果连续两次登录密码失败就会出现如下情况。这就是登录不了。

在这里插入图片描述

Linux—远程访问及控制 详解OpensSSH服务端,客户端和构建密钥!还有TCP Wrappers概述!超详细!一步一截图,新手也能学会!_第4张图片Linux—远程访问及控制 详解OpensSSH服务端,客户端和构建密钥!还有TCP Wrappers概述!超详细!一步一截图,新手也能学会!_第5张图片

②验证禁止root用户登录

在这里插入图片描述
Linux—远程访问及控制 详解OpensSSH服务端,客户端和构建密钥!还有TCP Wrappers概述!超详细!一步一截图,新手也能学会!_第6张图片
③验证登录验证时间,1分钟到了,自动退出了

在这里插入图片描述
④验证禁止空密码用户登录

新建一个用户tx1,然后不设置密码

在这里插入图片描述进入远程登录界面,点击OK

Linux—远程访问及控制 详解OpensSSH服务端,客户端和构建密钥!还有TCP Wrappers概述!超详细!一步一截图,新手也能学会!_第7张图片

显示登录不了

Linux—远程访问及控制 详解OpensSSH服务端,客户端和构建密钥!还有TCP Wrappers概述!超详细!一步一截图,新手也能学会!_第8张图片
注意!我们每次改完配置文件之后,一定要重启服务!
①systemctl restart sshd 重新启动服务!
②service sshd reload 也可以重启服务

■登录验证方式

  • 密码验证:核对用户名、密码是否匹配
  • 密钥对验证:核对客户的私钥、服务端公钥是否匹配
[root@localhost ~]# vi /etc/ssh/sshd_ config
......
PasswordAuthentication yes
PubkeyAuthentication yes     
AuthorizedKeysFile .ssh/authorized_ keys
启用密码验证、密钥对验证、指定公钥库位置

1.2、使用SSH客户端程序

■ssh命令——远程安全登录

  • ssh user@host

实验:
例如110是服务器,88是客户端,现在我们需要通过客户端对服务器进行远程访问。当用户第一次登录SSH服务器时,要接收服务器发来的RSA密钥(根据提示输入yes),接受的密钥信息将保存到 ~/.ssh/known_hosts文件中。密码连接成功后,就可以登陆到目标.100的服务器了

在这里插入图片描述Linux—远程访问及控制 详解OpensSSH服务端,客户端和构建密钥!还有TCP Wrappers概述!超详细!一步一截图,新手也能学会!_第9张图片
exit退出,进入自己的客户端

Linux—远程访问及控制 详解OpensSSH服务端,客户端和构建密钥!还有TCP Wrappers概述!超详细!一步一截图,新手也能学会!_第10张图片

■scp命令——远程安全复制

  • 格式1: scp user@host:file1 file2
  • 格式2: scp file1 user@host:file2

实验:

①本端拷到对端

Linux—远程访问及控制 详解OpensSSH服务端,客户端和构建密钥!还有TCP Wrappers概述!超详细!一步一截图,新手也能学会!_第11张图片
验证下有没有

在这里插入图片描述
②对端考到本端

在这里插入图片描述
验证下有没有

在这里插入图片描述

■sftp命令——安全FTP上下载

  • sftp user@host

不指定路径就在对方家目录

Linux—远程访问及控制 详解OpensSSH服务端,客户端和构建密钥!还有TCP Wrappers概述!超详细!一步一截图,新手也能学会!_第12张图片
查看一下
在这里插入图片描述

1.3、密钥对验证的SSH体系

1.3.1、整体实现过程

Linux—远程访问及控制 详解OpensSSH服务端,客户端和构建密钥!还有TCP Wrappers概述!超详细!一步一截图,新手也能学会!_第13张图片

1.3.2、在客户机中创建密钥对

■在客户机中创建密钥对

  • ssh-keygen命令
  • 可用的加密算法: RSA、ECDSA或DSA

[zhangsan@localhost ~]$ ssh-keygen -t ecdsa
Generating public/private ecdsa key pair.
Enter file in which to save the key (/home/zhangsan/ .ssh/id_ ecdsa):
Created directory '/home/zhangsan/ .ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:    ###设置密钥短语
Your identification has been saved in /home/zhangsan/.ssh/id_ ecdsa.       ###私钥文件位置
Your public key has been saved in /home/zhangsan/ .ssh/id_ ecdsa.pub.      ###公钥文件位置

1.3.3、将公钥文件上传至服务器

■将公钥文件上传至服务器

  • 任何方式均可(FTP、 Email、 SCP、 HTTP…)
[zhangsan@localhost ~]$ scp ~/.ssh/id_ ecdsa.pub [email protected]:/tmp

1.3.4、在服务器中导入公钥文本

■在服务器中导入公钥文本

  • 将公钥文本添加至目标用户的公钥库
  • 默认公钥库位置: ~/.ssh/authorized keys
[root@localhost ~]# mkdir /home/lisi/.ssh/
[root@localhost ~]# cat /tmp/id_ _ecdsa.pub >> /home/lisi/.ssh/authorized_ _keys
[root@localhost ~]# tail -1 /home/lisi/.ssh/authorized_ keys
ecdsa-sha2-nistp256
AAAAE2VjZHNhLXNoY TItbmlzdHAyNT YAAAAIbmlzdHAyNTYAAABBBLJSnBhscY
BfnnHxSYAJEBD4sNkTLMF7itcFGM33RdeXU89QNQkMnCrCJHzAIZURrzpXG6M
p62mz9gRXUnARk8s=zhangsan@localhost

1.3.5、客户端使用密钥对验证登录

■客户端使用密钥对验证登录

  • 验证用户:服务端的用户lisi
  • 验证密码:客户端的用户zhangsan的私钥短语
[zhangsan@localhost ~]$ ssh [email protected]
[lisi@localhost ~]$ whoami
lisi

1.3.6、第2步和第3步可以采用另外一种方法

■第2步和第3步可以采用另外一种方法

ssh-copy-id -i 公钥文件user@host
  • 验证密码后,会将公钥自动添加到目标主机user宿主目录,下的. ssh/authorized_ keys文件结尾

    [zhangsan@localhost ~]$ ssh-copy-id -i ~/.ssh/id_ _rsa.pub [email protected]
    

实验:构建密钥实验

创建密钥
Linux—远程访问及控制 详解OpensSSH服务端,客户端和构建密钥!还有TCP Wrappers概述!超详细!一步一截图,新手也能学会!_第14张图片
ls -a 查看一下隐藏文件 .ssh

在这里插入图片描述
cd .ssh 进入 .ssh
Linux—远程访问及控制 详解OpensSSH服务端,客户端和构建密钥!还有TCP Wrappers概述!超详细!一步一截图,新手也能学会!_第15张图片
Linux—远程访问及控制 详解OpensSSH服务端,客户端和构建密钥!还有TCP Wrappers概述!超详细!一步一截图,新手也能学会!_第16张图片

验证一下,是不需要密码的,直接登录

在这里插入图片描述

exit退回自己的用户

Linux—远程访问及控制 详解OpensSSH服务端,客户端和构建密钥!还有TCP Wrappers概述!超详细!一步一截图,新手也能学会!_第17张图片

二、TCP Wrappers访问控制

2.1、TCP Wrappers概述

Linux—远程访问及控制 详解OpensSSH服务端,客户端和构建密钥!还有TCP Wrappers概述!超详细!一步一截图,新手也能学会!_第18张图片

2.1.1、保护机制的实现方式

■保护机制的实现方式

  • 方式1:通过tcpd程序对其他服务程序进行包装
  • 方式2:由其他服务程序调用libwrap.so.*链接库

2.1.2、访问控制策略的配置文件

■访问控制策略的配置文件

  • /etc/hosts.allow
  • /etc/hosts.deny

2.2、TCP Wrappers访问策略

2.2.1、设置访问控制策略

■设置访问控制策略

  • 策略格式:服务程序列表:客户端地址
  • 服务程序列表
    ◆多个服务以逗号分隔,ALL表示所有服务列表
  • 客户端地址列表
    ◆多个地址以逗号分隔,ALL表示所有地址
    ◆允许使用通配符?和*
    ◆网段地址,如192.168.4.或者192.168.4.0/255.255.255.0
    ◆区域地址,如.benet.com

2.2.2、策略的应用顺序

■策略的应用顺序

  1. 检查hosts. allow,找到匹配则允许访问
  2. 再检查hosts.deny,找到则拒绝访问
  3. 若两个文件中均无匹配策略, 则默认允许访问

2.2.3、策略应用示例

■策略应用示例

  • 仅允许从以下地址访问sshd服务
    ◆主机61.63.65.67
    ◆网段192.168.2.0/24
  • 禁止其他所有地址访问受保护的服务
[root@localhost ~]# vi /etc/hosts.allow
sshd:61.63.65.67,192.168.2.*
[root@localhost ~]# vi /etc/hosts.deny
sshd:ALL

访问策略应用顺序实验:

1、测试的IP地址为 20.0.0.5

2、输入的是20.0.0.2的IP,找不到20.0.0.5的IP,
所以 20.0.0.5 不允许访问
Linux—远程访问及控制 详解OpensSSH服务端,客户端和构建密钥!还有TCP Wrappers概述!超详细!一步一截图,新手也能学会!_第19张图片

3、输入的ALL,代表所有IP,找到则拒绝访问,因为代表所有,所以可以找到20.0.0.5,也拒绝访问。

Linux—远程访问及控制 详解OpensSSH服务端,客户端和构建密钥!还有TCP Wrappers概述!超详细!一步一截图,新手也能学会!_第20张图片
所以 20.0.0.5登录不上

Linux—远程访问及控制 详解OpensSSH服务端,客户端和构建密钥!还有TCP Wrappers概述!超详细!一步一截图,新手也能学会!_第21张图片

三、本章总结

■配置OpenSSH服务端

  • 监听选项、用户登录控制、登录验证方式

■使用SSH客户端程序

  • ssh、scp、sftp、 Xshell

■构建密钥对验证的SSH体系的步骤
■TCP Wrappers访问控制

今天博客的内容就到此结束啦。我们今天学了OpenSSH服务端的监听选项,用户登录控制和登录验证方式还有客户端的ssh,scp,sftp的命令使用方法和Xshell的使用方法。
同时也学习了构建密钥和使用密钥的方法,希望大家一起努力加油!

你可能感兴趣的:(Linux,linux)