SSH远程管理/TCP Wrappers访问控制

文章目录

SSH远程管理/TCP Wrappers访问控制

SSH(Secure Shell)协议

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

OpenSSH

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

配置信息

/etc/ssh/ssh_config 针对客户端的配置文件

/etc/ssh/sshd_config 针对服务端的配置文件

服务监听选项

  • 端口号(22)、协议版本、监听IP地址

  • 禁用反向解析

    vi /etc/ssh/sshd config

    Port 22
    ListenAddress 172.16.16.22
    Protocol 2
    UseDNS no

用户登录控制

  • 禁用root用户、空密码用户

  • 限制登录验证时间、重试次数

  • AllowUsers、DenyUsers

    vi /etc/ssh/sshd

    configLoginGraceTime 2m
    PermitRootLogin no
    MaxAuthTries 6
    PermitEmptyPasswords no

    AllowUsers jerry [email protected]

登录验证方式

  • 密码验证:核对用户名、密码是否匹配

  • 密钥对验证:核对客户的私钥、服务端公钥是否匹配

    vi /etc/ssh/sshd config

    PasswordAuthentication yes
    PubkeyAuthentication yes
    AuthorizedKeysFile .ssh/authorized_keys

常用目录

---ssh 远程安全登录

复制代码
ssh user@host
端口选项:-p 22

---scp 远程安全复制

复制代码
格式1:scp user@host:file1 file2
传给自己

格式2:scp file1 user@host:file2
传到对面

---sftp FTP上下载

复制代码
sftp user@host
端口选项:-p

get 文件名		下载文件到家目录
put 文件名		上传文件到链接服务器的目录
quit			退出

配置密钥对验证

环境配置

centos 7 IP:20.0.0.51------服务端

centos 7 IP:20.0.0.52------客户端

ECDSA算法
复制代码
1.在客户端创建密钥对
通过ssh-keygen工具为当前用户创建密钥对文件。可用的加密算法为RSA、ECDSA或DSA等(ssh-keygen命令的"-t"选项用于指定算法类型)。
useradd admin
echo "123123" | passwd --stdin admin
su - admin

ssh-keygen -t ecdsa
Generating public/private ecdsa key pair.
Enter file in which to save the key (/home/admin/.ssh/id_ecdsa): 	#指定私钥位置,直接回车使用默认位置
Created directory '/home/admin/.ssh'.			#生成的私钥、公钥文件默认存放在宿主目录中的隐藏目录.ssh/下
Enter passphrase (empty for no passphrase): 				#设置私钥的密码
Enter same passphrase again: 								#确认输入

ls -l .ssh/id_ecdsa*
#id_ecdsa是私钥文件,权限默认为600;id_ecdsa.pub是公钥文件,用来提供给 SSH 服务器

2.将公钥文件上传至服务器
scp ~/.ssh/id_ecdsa.pub [email protected]:/opt
或
#此方法可直接在服务器的/home/zhangsan/.ssh/目录中导入公钥文本
cd ~/.ssh/
ssh-copy-id -i id_ecdsa.pub [email protected]

3.在服务器中导入公钥文本
mkdir /home/zhangsan/.ssh/
cat /opt/id_ecdsa.pub >> /home/zhangsan/.ssh/authorized_keys

cat /home/zhangsan/.ssh/authorized_keys

4.在客户端使用密钥对验证
ssh [email protected]
[email protected]'s password: 				#输入私钥的密码

5.在客户机设置ssh代理功能,实现免交互登录
ssh-agent bash
ssh-add
Enter passphrase for /home/admin/.ssh/id_ecdsa: 	#输入私钥的密码

ssh [email protected]
RSA算法
复制代码
在centos7  IP:20.0.0.51操作------------单向
生成密钥
ssh-keygen -t rsa

Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
三次回车

ssh-copy-id [email protected]
输入密码

测试
ssh 20.0.0.52

在centos7  IP:20.0.0.52操作------------再配置一次变成双向
生成密钥
ssh-keygen -t rsa

ssh-copy-id [email protected]
输入密码

测试
ssh 20.0.0.51
RSA算法实操
在centos7 IP:20.0.0.51操作
一、生成密钥

ssh-keygen -t rsa

二、将密钥给20.0.0.52

ssh-copy-id [email protected]

三、测试

ssh 20.0.0.52

在centos7 IP:20.0.0.52操作
四、生成密钥

ssh-keygen -t rsa

五、将密钥给20.0.0.51

ssh-copy-id [email protected]

六、测试

ssh 20.0.0.51

TCP Wrappers访问控制

保护机制的两种实现方式

1.直接使用 tcpd 程序对其他服务程序进行保护,需要运行 tcpd程序。

2.由其他网络服务程序调用 libwrap.so.链接库

不需要运行 tcpd 程序。此方式的应用更加广泛也更有效率。

TCP Wrappers 的访问策略

TCP Wrappers 机制的保护对象为各种网络服务程序,针对访问服务的客户端地址进行访问控制。

对应的两个策略文件为/etc/hosts.allow 和/etc/hosts.deny,分别用来设置允许和拒绝的策略。

其他服务程序进行保护,需要运行 tcpd程序。

2.由其他网络服务程序调用 libwrap.so.链接库

不需要运行 tcpd 程序。此方式的应用更加广泛也更有效率。

TCP Wrappers 的访问策略

TCP Wrappers 机制的保护对象为各种网络服务程序,针对访问服务的客户端地址进行访问控制。

对应的两个策略文件为/etc/hosts.allow 和/etc/hosts.deny,分别用来设置允许和拒绝的策略。

相关推荐
bubiyoushang8882 小时前
Windows11 WSL2 Ubuntu编译安装perf工具
linux·运维·ubuntu
行云流水剑3 小时前
【学习记录】使用 Kali Linux 与 Hashcat 进行 WiFi 安全分析:合法的安全测试指南
linux·学习·安全
xuanwojiuxin3 小时前
linux panic-propagation
linux·运维·服务器
achene_ql5 小时前
select、poll、epoll 与 Reactor 模式
linux·服务器·网络·c++
藥瓿亭5 小时前
K8S认证|CKS题库+答案| 9. 网络策略 NetworkPolicy
linux·运维·docker·云原生·容器·kubernetes·cks
千千寰宇6 小时前
[数据传输/网络传输/序列化/计算机组成原理] 字节序/大小端
linux·计算机组成原理/硬件/半导体
LFloyue6 小时前
Linux离线(zip方式)安装docker
linux·docker
Blue桃之夭夭6 小时前
深入理解Optional:处理空指针异常
linux·windows·microsoft
什么半岛铁盒7 小时前
Linux线程与进程关系及底层实现
java·linux·运维
简朴-ocean8 小时前
如何删除linux空的文件夹
linux·运维·服务器