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

相关推荐
地衣君6 小时前
RISC-V 开发板 + Ubuntu 23.04 部署 open_vins 过程
linux·ubuntu·risc-v
5:006 小时前
云备份项目
linux·开发语言·c++
码农101号7 小时前
Linux中shell编程表达式和数组讲解
linux·运维·服务器
云道轩7 小时前
升级centos 7.9内核到 5.4.x
linux·运维·centos
是小满满满满吗7 小时前
传输层:udp与tcp协议
linux·服务器·网络
爱学习的小道长7 小时前
Ubuntu Cursor升级成v1.0
linux·运维·ubuntu
EelBarb7 小时前
seafile:ubuntu搭建社区版seafile12.0
linux·运维·ubuntu
Xam_d_LM7 小时前
【Latex】Windows/Ubuntu 绘制 eps 矢量图通用方法(drawio),支持插入 Latex 数学公式
linux·ubuntu·科研·矢量图·drawio
Mintimate8 小时前
云服务器 Linux 手动 DD 安装第三方 Linux 发行版:原理与实战
linux·运维·服务器
RussellFans8 小时前
Linux 环境配置
linux·运维·服务器