Linux网络部分——SSH远程访问及控制

目录

一、配置OpenSSH服务端【☆】

1. ssh服务端配置 vim /etc/ssh/sshd_config

2.客户端连接验证

二、使用SSH客户端程序

1.ssh 远程登录

2.scp 远程复制

3.sftp 安全FTP

三、SSH的验证方式

1. 密钥对验证【☆】

2. 如何实现免密登录

 【拓展】免交互创建密钥对和免交互上传密钥

四、TCP Wrappers 访问控制

1. TCP Wrappers保护机制两种实现方式

2.TCP Wrappers 的访问策略

3. 访问策略原则

4. 策略格式:<程序列表>:<客户端地址列表>


       日常工作用远程连接两种方式,SSH和TELNET。SSH使用22号端口,进行密文传输,更安全。TELNET使用23号端口,使用明文传输,禁止使用root用户直接登录,仅仅做调试作用,基本不用。

SSH客户端典型代表:Moba、PuttyXshell、CRT为国外的软件,会涉及到版权和国家信息安全

SSH服务端软件:软件包OpenSSH,服务名sshd。centOS7中默认安装并设置开机自启,Ubuntu需要下载后使用systemctl start sshd开启,systemctl enable sshd设置开机自启,ssh服务端配置文件/etc/ssh/sshd_config,客户端的配置文件ssh_config。

一、配置OpenSSH服务端【☆】

1. ssh服务端配置 vim /etc/ssh/sshd_config

  1. Port 2345     #默认监听端口为 22,公网中把22号端口改掉更安全,实验使用22方便

  2. ListenAddress 192.168.170.10       #默认监听所有网卡地址0.0.0.0,可以改为特定网卡地址给安全网段更安全                        
  3. LoginGraceTime 2m                     #登录验证超时时间默认为 2 分钟
  4. PermitRootLogin no                     #禁止使用 root 用户登录
  5. MaxAuthTries 6                           #最大重试次数为 6次
  6. PermitEmptyPasswords no         #禁止空密码用户登录
  7. UseDNS no                                 #禁用 DNS 反向解析,以加快远程连接速度
  8. AllowUsers zhangsan lisi wangwu@192.168.170.20    #白名单配置:表示只允许zhangsan、lisi用户从任何主机登录,且其中wangwu用户仅能够从IP为192.168.170.20的主机远程登录。多个用户以空格分隔
  9. DenyUsers zhangsan lisi wangwu@192.168.170.20    #黑名单配置:表示禁止zhangsan lis用户从任何主机登录,wangwu禁止从192.168.170.20主机登录(注意白名单和黑名单不同时存在)

【补充】大驼峰命名规则:一个配置项可能由多个单词命名规则,每个单词第一个字母大写;小驼峰为第一个单词首字母不大写,后面单词首字母大写。

配置完成后开启sshd服务,创建zhangsan lisi wangwu用户

2.客户端连接验证

二、使用SSH客户端程序

1.ssh 远程登录

ssh [-p 端口号] 用户名@目标主机IP            #-p指定端口号,没有指定就是默认访问22号端口
ssh [-p 端口号] 用户名@目标主机IP 命令      #临时登录目标主机,操作一条命令后立即退出

        注意:SSH首次连接服务器会在当前用户家目录生成 .ssh/knowmn_hosts,保存服务器地址和密钥信息,如果后期访问服务器提示密钥信息改变,则要注意,可能会是钓鱼服务器!

2.scp 远程复制

scp [-P 端口号] [-r] 本地文件/目录路径 用户名@目标主机IP:绝对路径   
#从本机的复制上传目录/文件到目标主机

scp [-P 端口号] [-r] 用户名@目标主机IP:/目录/文件 /本地路径   
#从目标主机复制下载目录/文件到本地

3.sftp 安全FTP

sftp [-P 端口号] 用户名@目标主机IP   
客户端可使用get上传、put下载、ls查看、cd切换目录

三、SSH的验证方式

        sshd 服务支持两种验证方式:①密码验证:使用账号和密码验证登录; ②密钥对验证:使用客户端创建的密钥对进行验证。在/etc/ssh/sshd_config中,PasswdAuthentication yes表示开启密码验证,PubkeyAuthenication yes表示开启密钥对验证,.ssh/authorized_keys表示服务端的公钥默认保存路径为当前用户的家目录的.ssh目录中。

1. 密钥对验证【☆】

①确保服务端开启了密钥对验证(在/etc/ssh/sshd_config中,PasswdAuthentication yes默认开启);

②客户端创建密钥对,ssh-keygen [-t rsa指定加密方法为非对称方法](rsa/dsa/ecdsa 三种) --->  默认目录回车 ---> 默认空密码回车,也可以设置密码  ---> /root/.ssh/id_rsa私钥文件是给自己自己使用的, /root/.ssh/id_rsa.pub公钥文件需要推送给服务端保存。

③上传公钥文件到服务端,ssh-copy-id -i id_rsa.pub root@192.168.170.10(目标主机        ip和端口号,-i指定公钥文件,如果只有一个公钥文件可以省略-i)

④客户端ssh远程登录,使用密钥对进行验证

 ps:客户端用什么用户创建和推送公钥给服务端哪个用户,就只能登录服务端的那个用户

2. 如何实现免密登录

①创建密钥对的时候一路回车,不设置密码

②设置代理,但只能在当前会话中有效。

 【拓展】免交互创建密钥对和免交互上传密钥

ssh-keygen -t rsa -P ‘’ -f ~/.ssh/id_rsa
sshpass -p 'xxxxxx' ssh-copy-id -o StrictHostKeyChecking=no root@目标IP

四、TCP Wrappers 访问控制

        TCP Wrappers(TCP封套) 是一个简单的防火墙机制。用来将TCP服务程序“包裹”起来,代为监听TCP服务程序的端口,增加了一个安全检测过程,外来的连接请求必须先通过这层安全检测,获得许可后才能访问真正的服务程序。
        大部分的Linux发行版本都有提供TCP Wrappers访问控制的功能,TCP Wrappers监听过滤发往各个端口的数据包,要么允许放通,要么拒绝访问丢弃数据包。

1. TCP Wrappers保护机制两种实现方式

①运行tcpd程序;②调用libwrap.so.*动态函数库,不需要运行tcpd,使用更广泛。 由于支持 TCP Wrappers 的服务必定包含 libwrap 这一个动态函数库,因此可以使用 ldd 来查看服务即可。

ldd $(which 程序名称) | grep libwrap

2.TCP Wrappers 的访问策略

        TCP Wrappers 机制的保护对象为各种网络服务程序,针对访问服务的客户端地址进行访问控制。通过 /etc/hosts.allow,/etc/hosts.deny 这两个文件来管理的一个类似防火墙的机制,分别用来设置允许和拒绝的策略。

格式:<服务程序列表>:<客户端地址列表>

(1)服务程序列表
ALL:代表所有的服务。
单个服务程序:如“vsftpd”。
多个服务程序组成的列表:如“vsftpd,sshd”。
(2)客户端地址列表
ALL:代表任何客户端地址。
LOCAL:代表本机地址。
多个地址以逗号分隔
允许使用通配符 “*” 和 “?” ,前者代表任意长度字符,后者仅代表一个字符
网段地址,如 “192.168.80.” 或者 192.168.80.0/255.255.255.0 (掩码只支持 netmask 的地址显示方式)
区域地址,如 “.benet.com”匹配 benet.com 域中的所有主机。

3. 访问策略原则

先看 /etc/hosts.allow 是否有匹配的策略,有则直接允许访问;

再看 /etc/hosts.deny  是否有匹配的策略,有则拒绝访问;

如果以上两个文件都没有匹配的策略,则默认允许访问;

4. 策略格式:<程序列表>:<客户端地址列表>

sshd,vsftpd:192.168.80.13,192.168.80.14

ALL:ALL

sshd:192.168.80.*

sshd:192.168.80.0/255.255.255.128

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值