当前位置:   article > 正文

SSH详解_ssh连接条件

ssh连接条件

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 *                                 #允许用户登陆
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

未登入的联机画面数
在这里插入图片描述

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访问本地端口
  • 1
  • 2

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这种短格式掩码
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

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
  • 1
  • 2
  • 3
  • 4

3.指定密钥路径,端口,用户及配置文件
-i #指定密钥路径
-p #指定SSH端口
-l #指定用户
-F #指定其他配置文件
-t #指定为终端迫使SSH客户端以交互模式工作,常配合expect使用

ssh -l test 192.168.1.10 -i /data/mykey -p 8088 -F /etc/muconfig
  • 1

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连接
  • 1

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–>确定

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小舞很执着/article/detail/887586
推荐阅读
相关标签
  

闽ICP备14008679号