Linux网络服务——远程访问及控制(ssh远程访问实验)

网友投稿 270 2022-11-05

Linux网络服务——远程访问及控制(ssh远程访问实验)

一、SSH远程管理

1.1 SSH(secure Shell)协议

SSH是一种安全通道协议,主要用来实现字符界面的远程登录、远程复制功能。SSH对通信双方的数据传输进行了加密处理,其中包括用户登录时输入的用户password。SSH协议提供了更好的安全性。用于远程管理。

1.2 openSSH

服务名称:sshd服务端主程序:/usr/sbin/sshd服务端配置文件:/etc/ssh/sshd_config

1.2.1 服务监听选项

sshd服务使用的默认端口号为22,必要时建议修改此端口号,并指定监听服务的具体ip地址,以提高在网络中的隐蔽性。除此之外,SSH协议的版本选用V2比V1的安全性要更好,禁用DNS反向解析可以提高服务器的响应速度。

[root@localhost ~]# vi /etc/ssh/sshd_config Port 22 //监听端口为22 ListenAddress 0.0.0.0 // 监听地址为0.0.0.0 Protocol 2 //使用SSH V2协议 UseDNS no // 禁用DNS反向解析

1.2.2 用户登录控制

禁用root用户、空用户限制登录验证时间、重试次数AllowUsers、DenyUsers

[root@localhost ~]# vi /etc/ssh/sshd_config LoginGraceTime 2m //登录验证时间为两分钟 PermitRootLogin no //精致root用户登录 MaxAurhTries 6 //最大重试次数为6 PermitEmptyPasswords no //禁止空用户登录 AllowUsers zhangsan //允许zhangsan从任意终端登录 AllowUsers admin@192.168.100.100// 只允许admin从固定终端登录 [root@localhost ~]# ssh -o NumberOfPasswordPrompts=8 // 增大连接次数为8次 MaxSessions 10 允许10 个终端找你连接 [root@localhost ~]# service sshd reload

1.2.3 登录验证次数

验证:核对用户名、是否正确秘钥对验证:核对客户的私钥、服务端公钥是否匹配

[root@localhost ~]# vi /etc/ssh/sshd_config PasswordAuthentication yes //启用验证 PubkeyAuthentication yes // 启用密钥对验证 AuthorizedKeysFile .ssh/authorized_keys //指定公钥库数据文件 [root@localhost ~]# service sshd reload

二、构建密钥对验证的SSH体系

2.1 整体实现过程

第一步:由客户端的用户zhangsan在本地创建密钥对创建密钥对私钥文件:id_rsa公钥文件:id_rsa.pub第二步:上传公钥文件id_rsa.pub第三步:导入公钥信息,导入到服务端用户lisi的公钥数据库公钥库文件:~/.ssh/authorized_keys第四步:使用密钥对验证方式以服务端的用户lisi的身份进行登录

2.1.1 在客户机中创建秘钥对

ssh-keygen可用的加密算法:RSA、ECDSA或DSA

2.1.2 将公钥文件上传至服务器

任何方式均可(FTP、Email、SCP、HTTP…)[zhangsan@localhost ~]$ scp ~/.ssh/id_ecdsa.pub root@172.16.16.22:/tmp

2.1.3 在服务器中导入公钥文本

将公钥添加至目标用户的公钥库默认公钥库位置:~/.ssh/authrized_keys

2.1.4 客户端使用秘钥对验证登录

验证用户:服务端的用户lisi验证:客户端的用户zhangsan的私钥短语[zhangsan@localhost ~]$ ssh lisi@172.16.16.22[lisi@localhost ~]$whoamilisi

2.1.5 第2步和第3步可以采用另外一种方法

ssh-copy-id -i 公钥文件 user@host验证验证后,会将公钥自动添加到目标主机user宿主目录下的.ssh/aauthrized_keys文件结尾[zhangsan@localhost ~]$ ssh-copy-id -i ~/.ssh/id_rsa.pub lisi@172.16.16.22

三、使用SSH客户端程序

ssh命令——远程安全登录ssh user@host 端口选项:-p 22scp命令——远程安全复制格式1:scp user@host:file1 file2 对方赋值给本地格式2:scp file1 user@host:file2 本地复制给对方sftp命令——安全ftp上下载sftp user@host

四、TCP Wrappers

4.1 TCP Wrappers概述

保护原理 保护机制的实现方式方式1:通过tcpd程序对其他服务程序进行包装方式2:有其他服务程序调用libwrap.so.*链接库 访问控制策略的配置文件/etc/hosts.allow/etc/hosts.deny 4.2 TCP Wrappers策略应用

4.2.1 设置访问控制策略

策略格式:服务程序列表:客户机地址列表服务程序列表多个服务以逗号分隔,ALL表示所有服务客户机地址列表多个地址以逗号分隔,ALL表示所有服务允许使用通配符*和?网段地址,如192.168.1 或者 192.168.1.0/255.255.255.0区域地址,如.benet.com

4.2.2 策略的应用顺序

检查hosts.allow,找到匹配则允许访问再检查hosts.deny,找到则拒绝访问若两个文件中均无匹配策略,则默认允许访问

4.2.3 策略应用实例

仅允许从以下地址访问sshd服务主机192.168.100.100网段192.168.200.0/24 禁止其他所有地址访问受保护的服务

[root@55 ~]# vim /etc/hosts.allow sshd:192.168.100.100,192.168.200.* [root@55 ~]# vim /etc/hosts.deny sshd:ALL '优先读取allow,然后再读取deny' '如果做黑名单,name白名单就不用写'

五、实验ssh远程登陆

5.1 实验:认识使用管理远程登陆

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:智能手机开发周期中都需要做哪些测试
下一篇:java springboot中如何读取配置文件的属性
相关文章

 发表评论

暂时没有评论,来抢沙发吧~