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 admin@61.23.24.25

登录验证方式

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

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

    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 root@20.0.0.51:/opt
或
#此方法可直接在服务器的/home/zhangsan/.ssh/目录中导入公钥文本
cd ~/.ssh/
ssh-copy-id -i id_ecdsa.pub zhangsan@20.0.0.51

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

cat /home/zhangsan/.ssh/authorized_keys

4.在客户端使用密钥对验证
ssh zhangsan@20.0.0.51
lisi@20.0.0.51's password: 				#输入私钥的密码

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

ssh zhangsan@20.0.0.51
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 root@20.0.0.52
输入密码

测试
ssh 20.0.0.52

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

ssh-copy-id root@20.0.0.51
输入密码

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

ssh-keygen -t rsa

二、将密钥给20.0.0.52

ssh-copy-id root@20.0.0.52

三、测试

ssh 20.0.0.52

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

ssh-keygen -t rsa

五、将密钥给20.0.0.51

ssh-copy-id root@20.0.0.51

六、测试

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,分别用来设置允许和拒绝的策略。

相关推荐
程序员AlbertTu11 分钟前
第2章 上手 Linux:环境与文件操作
linux·运维·服务器
☆凡尘清心☆1 小时前
CentOS Stream 9 源码编译搭建 Zabbix7.0.29 完整部署方案(部署成功)
linux·运维·centos
Escalating_xu1 小时前
【Linux】进程间通信:从匿名管道、FIFO 到共享内存、消息队列与信号量
java·linux·面试
予昊1 小时前
Linux 资源控制实战分析:用 LXC 亲手造一个 “迷你虚拟机“
linux·运维·服务器
allforgood1 小时前
管理网络安全
linux
灵晔君2 小时前
【Linux】进程控制(一)——进程创建、进程终止与进程等待
linux·c语言·算法
wsad05322 小时前
CentOS 10 上使用 Docker Compose 部署 Discuz X5.0 论坛完整教程
linux·docker·centos·discuz
张宇Joaquin2 小时前
openEuler编译和更换内核的方法
java·linux·服务器
小此方2 小时前
Re:Linux系统篇(五十六)线程篇 · 九:基于阻塞队列的生产者消费者模型与条件变量
linux·运维·服务器
迷途之人不知返2 小时前
自动化工程的构建
linux·自动化