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防火墙