OpenSSH与telnet相似,区别是telnet是明文传输协议,不安全;SSH是密文传输。
相对于其他远程连接工具:telent、realVNC、RSH、RCP等,SSH更加安全可靠。其中realVNC同时支持命令行和图形化。
远程桌面协议(RDP)是一个多通道(multi-channel)的协议,让使用者连上提供微软终端机服务的计算机。一般不支持异地跨网连接,只能在局域网内使用。
1. OpenSSH/stelnet的配置
1.1 服务端配置
ssh配置文件:vim /etc/ssh/sshd_config
- Port 22 //监听端口
- AddressFamily any //使用哪种地址簇,any包含v4、v6,inet表示IPv4,inet6表示IPv6
- ListenAddress 1.1.1.1 //监听地址
- Protocol 2 //ssh 协议号
- LoginGraceTime 2m //登录验证时间2分钟,即提示输入密码界面保持时间。
- PermitRootLogin yes //允许root用户登录
- MaxAuthTries 3 //密码最大重试次数为3次
- PermitEmptyPasswords no //禁止空密码用户登录
- PasswordAuthentication yes //进行密码验证 PubkeyAuthentication yes //进行密钥对验证
- AuthorizedKeysFile .ssh/authorized_keys //进行密钥对验证需要指定公钥库数据文件
- AllowUsers zhangsan lisi@1.1.1.1 //只允许张三李四登录,而且李四只能够从1.1.1.1登录,root用户将不能登录
- DenyUsers zhangsan lisi //拒绝张三李四登录,与上一条不能同时使用
- AllowGroups abc //只允许组abc登录
- DenyGroups abc //只拒绝abc组登录
1.2 ssh客户端使用
命令程序ssh、scp、sftp
安装openssh-clients(ssh客户端)
1.2.1 ssh远程登录
ssh -p 8080 zhangsan@192.168.1.151 //指定端口进行登录
ssh zhangsan@192.168.1.151 //使用linux系统登录其他linux系统
1.2.2 scp远程复制
使用以下命令进行复制远程服务器数据到本地,远程服务器也需要安装openssh-clients
scp root@192.168.1.151:/etc/passwd /home/pwd.txt //将192.168.1.151上的passwd文件复制到本地取名为pwd.txt,指定端口跟-P
scp -r root@192.168.1.151:/var /home/ //将151服务器上的目录/var 复制到本地home下 ,-r选项表示复制目录
1.2.3 sftp上传下载文件
使用类似于ftp的交互式方式进行上传下载文件
1.3 登录验证方式
密码验证:默认启用密码验证,使用系统密码进行验证
密钥对验证:要求提供相匹配的密钥信息才能够通过验证,安全性更高
2. TCP_Wrappers
2.1 概述
TCP_Wrappers是一个工作在应用层的安全工具,它只能针对某些具体的应用或者服务起到一定的防护作用。 比如说ssh、telnet、FTP等服务的请求,都会先受到TCP_Wrappers的拦截。
2.2 工作原理
TCP_Wrappers有一个TCP的守护进程叫作tcpd。以telnet为例,每当有telnet的连接请求时,tcpd即会截获请求,先读取系统管理员所设置的访问控制文件,合乎要求,则会把这次连接原封不动的转给真正的telnet进程,由telnet完成后续工作;如果这次连接发起的ip不符合访问控制文件中的设置,则会中断连接请求,拒绝提供telnet服务。
2.3 策略的应用顺序
先检查hosts.allow,找到匹配则允许访问
否则再检查hosts.deny,找到则拒绝访问
若两个文件中均无匹配策略,则默认允许访问
2.4 配置文件格式写法
sshd:192.168.1.0
sshd:192.168.1.
sshd:192.168.1.*
sshd,vtsftp:1.1.1.1
all:192.168.1.1
判断哪些程序可以使用该防火墙,使用命令
ldd /usr/sbin/sshd //在输出结果中出现了"libwrap"表示可以使用Wrappers防火墙