赞
踩
SSH是Secure Shell的缩写,是建立在应用层和传输层基础上的安全协议.
安全可靠的远程登录会话和传输协议
SSH客户端适用于多个平台
在linux主要用于远程登陆和数据传输
是C/S架构
SSH功能:
有效防止DNS欺骗和IP欺骗
压缩传输数据
提供了多种传输方式
构建Socket5代理,主要解决本地网络访问资源受限
SSH的配置文件
Port 22 #SSH端口设置,默认22
Protocol 2,1 #选择SSH协议版本,这里是1和2都支持,日光值支持一个的话,那就只给一个参数就好了
ListenAddress 0.0.0.0 #监听的网卡IP,如果本机有不止一个的网卡需要对其指定的时候
PermitRootLogin no #是否允许root账号登陆,默认是允许的,但是实际工作中一般不允许,使用的是统一的运维账号,如果需要进行关键操作需要用到root权限是,一般使用sudo获得临时权限
PasswordAuthentication yes #是否开启密码验证,如果配置了更高级别的验证方式的话比如密钥,那可以不开启密码验证
PasswordEmptyPasswords no #是否允许密码为空
PrintMotd no #登陆后是否显示一些信息,比如上次登陆时间及地点(不建议开启)
PrintLastLog yes #显示上次登入信息
KeepAlive yes #解决僵尸进程,该设置SSH服务会不停的给客户端发送信息询问是否保持通讯,客户端回应
MaxStartups 10 #允许尚未登入的联机画面数
DenyUsers * #禁止用户登陆,*代表所有用户
AllowUsers * #允许用户登陆
未登入的联机画面数
SSH的认证方式与访问策略
1.基于口令的认证方式
2,基于密钥的认证方式(多应用于自动化与集群运维)
1.1生成密钥与公钥文件
ssh-keygen命令就可以生成密钥与公钥,生成之后需要将公钥文件写入到当前用户的.ssh目录下的认证文件当中并修改权限
eg:cat id_rsa.pub >> ~/.ssh/authorized_keys #.ssh目录权限为700,authorized_keys文件为600
3.限制用户连接SSH
3.1/etc/ssg/sshd_config配置
DenyUsers test #禁止test用户登入
AllowUsers test #允许test用户登入
DenyGroups test #禁止test群组登入
AllowGroup test #允许test群组登入
3.2重启ssh服务
service sshd restart
4.限制IP连接SSH
4.1iptables防火墙
iptables -A INPUT -p tcp --dport 22 -s 192.168.0.10/32 -j ACCEPT #允许192.168.0.10访问本地22端口
iptables -A INPUT -p tcp --dport 22 -j DROP #阻止所有IP访问本地端口
4.2TCP Wrappers(推荐)
/etc/hosts.allow
sshd:192.168.0.10/255.255.255.255 #sshd:IP/网段
/etc/hosts.deny
sshd:ALL 或 sshd:ALL EXCEPT 192.168.0.10 #做之所以或者允许单个IP
注:TCP Wrappers只支持长格式掩码,不支持192.168.0.0/24这种短格式掩码
SSH运维常用参数
1.执行远程主机命令
获取远程当前主机系统时间,并以"主机名:时间"的格式保存到本地的remote.txt文件中
SSH执行远程主机命令格式 ssh username@hostname ‘command’
ssh root@192.168.1.1 ‘echo ${HOSTNAME} : date +%Y-%m-%d\ %H:%M:%S
’ >> remote.txt
2.ssh构建跳板隧道
hostA可直接访问,hostB只允许hostA访问,通过SSH构建本地到hostB的连接通道
echo 'sshd:192.168.1.10' >> /etc/hosts.deny #不允许该IP访问本机
plink.exe -t root@192.168.1.11 ssh 192.168.1.12 #首先与11建立连接通过11建立与12 的SSH连接
windows下连接linux服务器(plink或者MyEntunnel)
plink.exe root@192.168.1.10
3.指定密钥路径,端口,用户及配置文件
-i #指定密钥路径
-p #指定SSH端口
-l #指定用户
-F #指定其他配置文件
-t #指定为终端迫使SSH客户端以交互模式工作,常配合expect使用
ssh -l test 192.168.1.10 -i /data/mykey -p 8088 -F /etc/muconfig
4.调试模式与绑定IP
ssh -v hostname #调试模式 , -v参数以类似log的总是返回debug信息,可以帮助运维人员在SSH连接出现问题时快速查找问题
绑定IP
如果SSH客户端有一个以上的网卡IP地址,就不一定能分得清楚到底是那个IP地址连接道路SSH服务
ssh -b 192.168.1.11 root@10.0.0.10 #192.168.1.11这个IP来与10.0.0.10建立SSH连接
5.构建Socket5代理
两个必要条件
1.linux主机(随便什么主机,虚拟的也行) 2.SSH用户(随便什么用户,普通用户也行)
构建Socket5隧道(IE和Goole不支持Socket5代理,拓建使用Firefox)
plink.exe 用户名@myvpn.com -i ubuntu.ppk -D 2015 #myvpn.com真实的国外的linux主机 -i指定证书 -D指定端口
构建完成后窗口不要关闭
火狐右侧打开菜单–>高级–>网络–>设置–>手动配置代理–>SOCKS主机:127.0.0.1 端口:2015–>确定
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。