SSH:密文 tcp / 22端口
TELNET:明文 tcp / 23端口
网络
SSH客户端<--------------------------------------->SSH服务端
数据传输是加密的,可以防止信息泄漏
数据传输是压缩的,可以提高传输速度
注意:在生产环境中,为了保密等措施,Xshell、CRT等外国软件应用较少,多使用国产或开源的
终端工具
vim /etc/ssh/sshd_config
Port 22 监听端口为 22
ListenAddress 0.0.0.0 监听地址为任意网段,也可以指定OpenSSH服务器的具体IP
LoginGraceTime 2m 登录验证时间为 2 分钟
PermitRootLogin no 禁止 root 用户登录
MaxAuthTries 6 最大重试次数为 6
PermitEmptyPasswords no 禁止空密码用户登录
UseDNS no 禁用 DNS 反向解析,以加快远程连接速度
AllowUsers zhangsan lisi wangwu
@61.23.24.25 只允许zhangsan、lisi、wangwu用户登录,且其中wangwu用户
仅能够从IP地址为61.23.24.25 的主机远程登录 多个用户以空
格分隔
DenyUsers zhangsan 禁止某些用户登录,用法于AllowUsers 类似(注意不要同时使
用)
对服务器中本地系统用户的登录名称、密码进行验证。简便,但可能会被暴力破解
要求提供相匹配的密钥信息才能通过验证。通常先在客户端中创建一对密钥文件(公钥、私钥),
然后将公钥文件放到服务器中的指定位置。远程登录时,系统将使用公钥、私钥进行加密/解密关
联验证。能增强安全性,且可以免交互登录
●公钥和私钥是成对生成的,这两个密钥互不相同,可以互相加密和解密。
●不能根据一个密钥来推算出另一个密钥。
●公钥对外公开,私钥只有私钥的持有人才知道。
当密码验证、密钥对验证都启用时,服务器将优先使用密钥对验证。可根据实际情况设置验证方式
vim /etc/ssh/sshd_config
PasswordAuthentication yes 启用密码验证
PubkeyAuthentication yes 启用密钥对验证
AuthorizedKeysFile .ssh/authorized_keys 指定公钥库文件
ssh [-p 端口] 用户名@目标主机IP
ssh [-p 端口] 用户名@目标主机IP 命令 临时登录目标主机执行命令后退出
scp [-P 端口] [-r] 本机文件/目录路径 ... 用户名@目标主机IP:绝对路径
将本地的文件/目录复制到目标主机
scp [-P 端口] [-r] 用户名@目标主机IP:绝对路径 本机路径
将目标主机的文件/目录复制到本机
sftp [-P 端口] 用户名@目标主机IP
> get put cd ls
使用账号和密码进行验证
PasswordAuthentication yes
使用客户端创建的密钥对进行验证
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys 服务端的公钥文件默认保存路径
/etc/ssh/sshd_config --> PubkeyAuthentication yes
ssh-keygen [-t rsa/dsa/ecdsa]
ssh-copy-id [-i 公钥文件] 用户名@目标主机IP
密钥对在客户端是谁创建的,只能谁使用;密钥对上传给服务端的哪个用户,那么就只能使用那个
用户去登录
ssh-keygen 一路回车,不设置密码
ssh-copy-id
ssh-agent bash
ssh-add
TCP Wrappers(TCP封套) 是一个简单的防火墙机制。用来将TCP服务程序“包裹”起来,代为监
听TCP服务程序的端口,增加了一个安全检测过程,外来的连接请求必须先通过这层安全检测,获
得许可后才能访问真正的服务程序
大多数 Linux 发行版,TCP Wrappers 是默认提供的功能
<服务程序列表>:<客户端地址列表>
服务程序列表
允许使用通配符 “*” 和 “?” ,前者代表任意长度字符,后者仅代表一个字符
允许所有,拒绝个别”
只需在/etc/hosts.deny文件中添加相应的拒绝策略
“允许个别,拒绝所有”
除了在/etc/hosts.allow中添加允许策略之外,还需要在/etc/hosts.deny文件中设置“ALL:ALL”的拒绝
策略
因篇幅问题不能全部显示,请点此查看更多更全内容