Linux远程服务SSH和TELNET详解及安全防范措施

远程管理服务概念介绍
  • SSH:安全的远程连接,数据信息是加密的,端口是22

    ssh 10.0.0.1
    
    • 默认可以root用户远程连接
  • TELNET:不安全的远程连接,数据信息是明文的,端口是23

    • 默认不能让root用户远程连接

    • 服务端

      yum install -y telnet-server
      
      systemctl start talnet.socket
      
      ps -ef | grep 23
      systemd管理
      
    • 客户端进行连接

      telnet 10.0.0.1
      
什么是shell?
  • 每连接登陆到一个linux系统中,就是一个shell
  • 可以一个linux系统有多个会话连接,每一个会话都是一个shell
  • 系统中用户可以实现相互转换,每转换一个用户就是一个shell
shell特点说明
  • 一般命令行临时配置的信息,只会影响当前shell

  • 命令配置的信息如果想生效,需要切换shell,输入bash进行切换

SSH服务连接工作原理
  • 客户端执行远程连接命令
  • 客户端、服务端建立三次握手过程
  • 服务端让客户端进行确认是否接受服务端公钥信息
  • 客户端进行公钥确认,接收到公钥信息
  • 服务端让客户端确认登陆用户密码信息
  • 客户端进行密码信息确认
  • 客户端、服务端远程连接建立成功
公钥和私钥
  • 私钥:钥匙
  • 公钥:锁头
  • 作用
    • 利用私钥和公钥对数据信息进行加密处理
    • 利用公钥和私钥进行用户身份认证
    • 基于密码的方式进行远程连接,公钥和私钥只能完成数据加密过程
    • 基于秘钥的方式进行远程连接:公钥和私钥可以完成身份认证工作
SSH远程连接的方式
  • 基于口令的方式进行远程连接,连接比较麻烦,不太安全
  • 基于秘钥的方式进行远程连接,连接方便,比较安全
    • 客户端执行命令创建秘钥对
    • 客户端建立远程连接(口令),发送公钥信息
    • 客户端再次建立远程连接
    • 服务端发送公钥质询信息(你的钥匙可以打开锁头嘛)
    • 客户端处理公钥质询信息(钥匙将锁头打开),将质询信息结果返回给服务端
    • 服务端接收到质询结果,建立好远程连接
SSH实现基于秘钥连接的部署步骤
  • 客户端创建秘钥对

    ssh-keygen -t dsa
    一直回车
    
  • 客户端需要将公钥进行分发

    ssh-copy-id -i /root/.ssh/id_dsa.pub root@服务端ip
    
  • 服务端进行检查是否传来了公钥

    ll /root/.ssh/
    
  • 进行远程连接测试,不用输入密码信息可以直接连接

    ssh 服务端ip
    
脚本批量管理串行,执行效率慢
#!/bin/bash
for ip in {31,7,41}
do
	sshpass -p 123456 ssh-copy-id -i /root/.ssh/id_dsa.pub root@172.16.1.$ip -p 200 "-o StrictHostKeyChecking=no"
done
如何免交互进行传递公钥
yum install -y sshpass
sshpass -p 密码 ssh-copy-id -i /root/.ssh/id_dsa.pub root@10.0.0.1
如何解决不用输入yes或no确认信息
  • 加上参数 "-o StrictHostKeyChecking=no"
如何指定端口进行连接
  • 加上参数 -p 端口号
SSH服务配置文件:/etc/ssh/sshd.config
  • sshd.config:服务端,ssh.config:客户端
  • Port:修改服务端口信息
  • ListenAddress 0.0.0.0:监听地址,指定哪块网卡能够接受远程访问请求
    • 指定监听地址只能是本地网卡上有的地址
  • PermitEmptyPasswords no:是否允许远程用户使用空密码进行登录,默认no,不允许
  • PermitRootLogin yes:是否允许root用户进行远程登录,登陆后可以使用su 进行切换,建议改为no
  • GSSAPIAuthentication no:是否开启GSSAPI认证功能,建议关闭
  • UseDNS no:是否开启反向DNS解析功能,建议关闭
SSH远程服务防范案例
  • 尽可能用秘钥登录,不用密码登录

  • 防火墙封闭SSH,指定源ip限制

  • 开启SSH只监听本地内网ip

  • 尽可能不给服务器外网ip

  • 最小化权限(软件安装-授权)

    • 服务也尽可能少,越多开放的端口越多
  • 给系统的重要文件或命令做一个指纹

    /etc/passwd md5sum 11110000aaaabbb 监控
    inotify /bin 				监控
    
  • 给它锁上chattr +i

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值