SSH协议

  • 为客户机提供安全的Shell环境,用于远程管理

  • 默认端口:TCP 22

OpenSSH

  • 服务名称:sshd

  • 服务端主程序:/usr/sbin/sshd

  • 客户端主程序:/usr/bin/ssh

  • 服务端配置文件:/etc/ssh/sshd_config

  • 客户端配置文件:/etc/ssh/ssh_config


[[email protected] ~]# vi /etc/ssh/sshd_config
……
Port 22                                   #端口号
Protocol 2                                #协议版本
ListenAddress 192.168.1.254               #监听IP地址
UseDNS no                                 #禁用反向解析
PermitRootLogin no                        #禁止ROOT用户登录
PermitEmptyPasswords no                   #禁止空密码用户登录
LoginGraceTime 2m                         #登录时间
MaxAuthTries 6                            #连接次数
PasswordAuthentication  yes               #启用密码验证
PubkeyAuthentication  yes                 #启用**对验证
AuthorizedKeysFile  .ssh/authorized_keys  #指定公钥库位置


ssh命令 —— 远程安全登录

scp命令 —— 远程安全复制

sftp命令 —— 安全FTP上下载


构建**对验证的SSH体系

SSH远程访问及控制


实验案例:构建安全的SSH服务体系

SSH远程访问及控制

需求描述

  • 允许用户wzadm从任意地址登陆,采用**对验证

  • 允许用户jacky从主机192.168.3.110登陆

  • 禁止其他所有用户远程登录

实现思路

  • 同时启用密码验证、**对验证

  • 锁定wzadm用户,改以**对方式进行验证

  • 使用AllowUser配置,仅允许wzadm、jacky用户登录


这里我用GNS3搭建了路由器充当网关服务器.两台PC分配桥到了VMnet1(192.168.3.0)和VMnet8(218.29.30.0)

正确配置了各主机的网络参数,添加了测试用户jacky,wzadm. redhat 5为internet测试用机.redhat 6为网站服务器

SSH远程访问及控制


修改sshd_config配置文件中的内容

SSH远程访问及控制

SSH远程访问及控制监听22端口

SSH远程访问及控制监听地址

SSH远程访问及控制使用SSH V2协议

SSH远程访问及控制禁用DNS反向解析

SSH远程访问及控制禁止空密码用户登录

SSH远程访问及控制验证时间2分钟,禁止root用户登录

SSH远程访问及控制最大重试6次

SSH远程访问及控制启用密码验证

SSH远程访问及控制启用**验证,指定公钥库数据文件

SSH远程访问及控制只允许wzadm和jacky用户登录,且jacky用户只能从IP地址192.168.3.110的主机远程登录


构建**对验证的SSH体系

1. 在客户机中创建**对

  • ssh-******命令

  • 可用的加密算法:RSA或DSA

SSH远程访问及控制


2. 将公钥文件上传至服务器

  • 任何方式均可(共享、FTP、Email、SCP、……)

SSH远程访问及控制


3. 在服务器中导入公钥文本

  • 将公钥文本添加至目标用户的公钥库

  • 默认公钥库位置:~/.ssh/authorized_keys

SSH远程访问及控制


wzadm用户锁定.这样wzadm用户就只能使用**验证了

SSH远程访问及控制


jacky用户能从192.168.1.110远程登录网站服务器

SSH远程访问及控制

SSH远程访问及控制

SSH远程访问及控制


jacky用户不能在218.29.30.218的主机上远程登录网站服务器

SSH远程访问及控制


其它用户不能远程登录网站服务器

SSH远程访问及控制


SSH远程访问及控制

SSH远程访问及控制


wzadm用户远程登录的时候,直接要求使用**密码来登录了

SSH远程访问及控制


其它用户还是无法远程登录

SSH远程访问及控制