【Linux学习笔记】之【SSH】

SSH 远程管理及安全配置

配置服务端


服务监听选项

vim /etc/ssh/sshd_config
Port 22
# 监听端口为22
ListenAddress 192.168.10.1
# 监听地址为192.168.10.1

UseDNS yes
# 禁用DNS反向解析

修改之后重启:

systemctl restart sshd

用户登录控制

vim /etc/ssh/sshd_config

#################
LoginGraceTime 2m
# 登录验证时间   
PermitRootLogin no
# 禁止root用户登录
MaxAuthTries 3
# 最大重试次数
MaxSessions 10
# 最大连接数
PermitEmptyPasswords no
# 禁止空密码用户登录
# 如果只允许或禁止某些用户登录时,可以使用AllowUsers或DenyUsers配置,两者用法类似(不能同时使用)。
#################

systemctl restart sshd

登录验证方式

  1. 密码验证
  2. 密钥对验证
vim /etc/ssh/sshd_config

#########################
PasswordAuthentication no
# 禁用密码验证
PubkeyAuthentication yes
# 启用密钥对验证
AuthorizedKeysFile .ssh/authorized_keys
# 指定公钥库数据文件
#########################

systemctl restart sshd

配置密钥对登录验证

# 创建密钥对
ssh-keygen -t rsa

Enter file in which to save the key (/home/student/.ssh/id_rsa):
# 指定私钥位置(默认即可)
Enter passphrase (empty for no passphrase): 
# 设置私钥短语(无即可)
Enter same passphrase again:
# 确认所设置的短语

# ------------------

# 上传公钥到服务器

scp ~/.ssh/id_rsa.pub root@192.168.75.158:/tmp/

# 一键上传(确保/root下有.ssh目录)
scp ~/.ssh/id_rsa.pub root@192.168.75.158:/root/.ssh/authorized_keys
# ------------------

# 写入公钥
mkdir -p /home/stu1/.ssh

cat /tmp/id_rsa.pub >> /home/stu1/.ssh/authorized_keys

# ------------------

# 配置sshd_config文件允许密钥对访问
vim /etc/ssh/sshd_config

#########################
PasswordAuthentication no
# 禁用密码验证
PubkeyAuthentication yes
# 启用密钥对验证
AuthorizedKeysFile .ssh/authorized_keys
# 指定公钥库数据文件
#########################

ssh stu1@192.168.75.158
# 登录

TCP Wrappers访问控制


访问策略文件

  • 网络服务程序:/etc/hosts.allow
  • 针对访问服务的客户机地址进行访问控制:/etc/hosts.deny

策略配置格式

<服务程序列表>:<客户机地址列表>

  • 服务程序列表、客户机地址列表之间以冒号分隔,在每个表内的多个项之间以逗号分隔。

服务程序列表分类
  • ALL:代表所有的服务。
  • 单个服务程序:如“sshd”。
  • 多个服务程序组成的列表:如“sshd,vsftpd”。

客户机地址列表分类
  • ALL:代表任何客户机地址。
  • LOCAL:代表本机地址。
  • 单个IP地址:如“192.168.75.158”。
  • 网络地址段:如“192.168.75.0/255.255.255.0”。
  • 以“.”开始的域名:如“.kgc.cn”匹配域中的所有主机。
  • 以“.”结束的网络地址:如192.168.75.匹配整个192.168.75.0/24网段。
    嵌入通配符“*”,“?”:前者代表任意长度字符,后者仅代表一个字符,如”10.0.8.2*”匹配以10.0.8.2开头的所有IP地址。不可与以“.”开始或结束的模式混用。
    多个客户机地址组成的列表:如“192.168.1.,172.17.17.,.kgc.cn”。

访问控制基本原则
  • 首先检查/etc/hosts.allow文件,如果匹配则允许访问;
  • 否则继续检查/etc/hosts.deny文件,如果匹配则拒绝访问;
  • 如果上述两个文件都没有匹配,则允许访问。

实例

实际应用TCP Wrappers机制时,较宽松的策略可以是“允许所有,拒绝个别”,只在hosts.deny文件中添加拒绝策略就可以了。较严格策略是“允许个别,拒绝所有”,除了在hosts.allow中添加允许策略外还需要在hosts.deny文件中设置“ALL:ALL”的拒绝策略。

# 只允许61.63.65.67的主机或者位于192.168.2.0/24网段的主机访问sshd服务,拒绝其他地址。

vim /etc/hosts.allow
################
sshd:61.63.65.67,192.168.2.*
################

vim /etc/hosts.deny
################
sshd:ALL
################
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值