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

相关推荐
dbkx_2916 分钟前
个人自用debian启动
linux·运维·debian
dualven_in_csdn2 小时前
搞了两天的win7批处理脚本问题
java·linux·前端
晨曦backend3 小时前
Vim 匹配跳转与搜索命令完整学习笔记
linux·编辑器·vim
爬呀爬的水滴5 小时前
解决Ubuntu24.04版本,右键没有共享选项的问题
linux·服务器·ubuntu·samba·共享文件夹
IT coke5 小时前
centos7部署AWStats日志分析系统
linux·运维·centos
雾岛心情6 小时前
【黑客与安全】Linux的常用命令之系统架构信息获取系列命令
linux·运维·服务器
杯莫停丶6 小时前
Linux基础指令大全
linux·运维·chrome
卫生纸不够用7 小时前
(三)Linux性能优化-CPU-CPU 使用率
linux·运维·服务器
Clownseven8 小时前
Ubuntu 24.04 LTS 长期支持版发布:对服务器用户意味着什么?新特性、升级建议与性能影响初探
linux·服务器·ubuntu
Xam_d_LM8 小时前
【Linux】服务器反向代理自动续签免费 Let‘s Encrypt 证书报错解决方法
linux·运维·服务器·反向代理·lets encrypt·http-01·证书续签