1.1 定义
ssh是Secure Shell的缩写,是一个建立在应用层上的安全远程管理协议。
ssh是目前较为可靠的传输协议,专为远程登录会话和其他网络服务提供安全性。
ssh大多用于UNIX和类UNIX操作系统中,能实现字符界面的远程登录管理,默认使用22端口。
1.2 ssh的登录验证模式
提供基于账户密码(口令)和秘钥对两种登录验证方式,这两者都是通过密文传输数据的。
1 账号密码:
ssh 用户名@ip地址
ssh root@192.168.88.20 (不填用户名默认root登录)
2 密钥对:
linux主机之间的秘钥登录验证
客户端生成秘钥文件指令:ssh-keygen -t rsa -b -2048
-t 指定加密类型(rsa/dsa等)
-d 指定秘钥对加密长度(1024长度可被暴力破解)
将公钥文件上传至服务器
ssh-copy-id root@192.168.88.20
3 ssh和telnet对比:ssh更安全,telnet更快速
1.3 环境准备
临时关闭防护功能:
iptables -F #清空防火墙规则
setenforce 0 #临时关闭SELinux
永久关闭防护功能:
chkconfig iptables off #设置防火墙开机不自启
sed -i ‘7s/enforcing/disabled/’ /etc/selinux/config # 永久关闭selinux
1.4 配置文件
配置文件的路径: /etc/ssh/sshd_config
禁止使用密码登录:把配置文件的PasswordAuthentication yes 改为 no
禁止使用root远程登录: 把配置文件的PermitRootLogin yes 改为 no
修改默认端口: Port 端口号
登录时则应该指定端口号: ssh -p 端口号 root@192.168.88.20
限制ssh监听ip(有些服务器则安全级别更高一些,不允许使用外网直接登录,只有通过局域网才能登录,我们可以在机房里设置其中一台能够被外网远程连接,其他的主机都通过这个机器远程连接即可): ListenAddress 对应ip
修改了配置文件需要重启服务生效
重启ssh服务: service sshd restart
1.5 ssh服务相关命令
scp:安全的远程文件复制命令(scp传输是加密的,所以会稍微影响速度)
格式:scp (-P 端口号) 本地文件 用户名@ip:目录
例如: scp /root/atgu.txt root@192.168.88.20:/tmp
sftp: 安全的文件传输协议
格式:sftp 用户名@服务器ip
1.6 TCP-Wrappers(简单防火墙)
工作在第四层的安全工具,对有状态连接(TCP)的特定服务进行安全监测。
判断服务是否被简单防火墙控制,就看是否有libwrap.so文件
1 查看对应服务所在位置
which sshd
2 查看指定命令执行时是否调用libwrap.so文件
ldd /usr/sbin/sshd | grep libwrap.so