热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ssh服务的配置使用

open-ssh服务ssh实验open-ssh远程服务工具Telnet、sshd等,Telnet传输基于明文,认证等均为非加密;ssh协议开源的实现:centos67默认安装,Se


  • open-ssh服务

  • ssh实验





  • open-ssh
    远程服务工具Telnet、sshd等,Telnet传输基于明文,认证等均为非加密;ssh协议开源的实现:centos 6 7默认安装,Secure remote shell,允许认证加密方式登录。



    • 服务安装配置
      系统默认安装:

      [root@xt ~]# rpm -qa | grep ssh
      libssh2-1.4.3-10.el7.x86_64
      openssh-6.6.1p1-22.el7.x86_64
      openssh-server-6.6.1p1-22.el7.x86_64
      openssh-clients-6.6.1p1-22.el7.x86_64

      配置文件:

      server:/etc/ssh/sshd_config
      client:/etc/ssh/ssh_config

      服务脚本:
      CentOS 6:
      服务脚本:/etc/rc.d/init.d/sshd
      CentOS 7:
      Systemd Unit File:/usr/lib/systemd/system/sshd.service


    • 客户端工具
      Windows: xshell, securecrt, putty...;
      openssh-clients使用:
      ssh [options] [user@]host [command]
      ssh [-l user] [options] host [command]:省略用户名表示使用当前用户名作为远程登录的用户名
      常用选项:

      -P port :用于指定远程服务的端口
      -X :支持X11转发,在本地显示远程主机上的图形窗口,但 前提:本地是X图形界面,或者提供了x service;

      sh远程连接服务器时的配置选项,定义在/etc/ssh/ssh_config配置文件中


    • 认证方式
      1.基于口令认证:即每次ssh交互输入登录密码
      2.基于密钥认证:非对称加密

      • 在本地主机生成一对密钥
        ssh-keygen [-q] [-b bits] [-t type] [-f output_keyfile] [-P passphrase]
        -t {rsa|ecdsa|dsa}: 公钥加密算法,默认rsa 2048
        -b bits:密钥长度
        -P passphrase :私钥加密密码
        -f output_keyfile:生成密钥的保存位置

      • 在本地主机将公钥复制到远程主机的用户家目录
        ssh-copy-id -i identity_file [-p port] [user@]host
        ssh-copy-id -i .ssh/id_rsa.pub centos@192.168.0.10


    • scp基于ssh实现跨主机文件复制
      复制文件到远程主机:scp [options] /PATH/TO/SOMEFILE [user@]host:/PATH/TO/SOMEFILE
      复制文件到本地主机:scp [options] [user@]host:/PATH/TO/SOMEFILE /PATH/TO/SOMEFILE
      常用选项:
      -r:递归
      -p:保持源文件权限
      -q: 静默模式
      -P port:指定远程服务的端口



    • 最佳实践

      1、不要使用默认端口;
      2、禁止使用protocol version 1;Protocol 2
      3、限制可登录的用户;
      在配置文件中配置:
      AllowUsers user1 user2 ...
      AllowGroups group1 group2...
      DenyUsers user1 user2...
      DenyGroups group1 group2
      4、设定空闲会话超时时长;
      5、利用防火墙设置ssh访问策略;
      6、仅监听特定的IP地址;
      7、基于口令认证时,使用强密码策略(可以禁止)
      # tr -dc A-Za-z0-9_ 8、使用基于密钥的认证;
      9、禁止使用空密码;
      10、禁止root用户直接登录;
      11、限制ssh的访问频度和并发在线数;
      12、做好日志,经常分析;
      13、设置TCP Wrappers
      用TCP Wrappers可以阻止或允许应用服务仅对某些主机开放,给系统在增加一道安全屏障。这部分设置共涉计到两个文件:hosts.allow和 hosts.deny
      eg: 在白名单中允许特定的主机访问
      sshd:192.168.0.100 192.168.0.200




实验环境:
ssh服务的配置使用

实验1:模拟中间人attack
首先客户端与server建立ssh通信,客户端从服务端下载公钥保存在家目录.ssh/known_hosts文件,此时可以基于密码或者密钥远程登录server。修改server的密钥文件模拟server attacked:
ssh服务的配置使用

ssh服务的配置使用
ssh服务的配置使用
实验2:密钥互信实验
ssh服务的配置使用

[root@xt .ssh]# ls
id_rsa id_rsa.pub known_hosts
[root@xt .ssh]# ssh root@192.168.0.109 hostname
node1.xuetong.com

这样就实现了免密登录,由于使用空密钥,id_rsa* 这两个文件有可能被窃取,伪装成客户端,可以使用对文件加密。

ssh服务的配置使用
此时同样把公钥发送给node1
ssh服务的配置使用
但此时还是要交互输入密码。此密码保证了文件的安全性,仅在此机器有效。可以通过使用ssh-agent作为代理,免去输入密码。
ssh服务的配置使用


推荐阅读
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • Win10下游戏不能全屏的解决方法及兼容游戏列表
    本文介绍了Win10下游戏不能全屏的解决方法,包括修改注册表默认值和查看兼容游戏列表。同时提供了部分已经支持Win10的热门游戏列表,帮助玩家解决游戏不能全屏的问题。 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • 本文介绍了如何清除Eclipse中SVN用户的设置。首先需要查看使用的SVN接口,然后根据接口类型找到相应的目录并删除相关文件。最后使用SVN更新或提交来应用更改。 ... [详细]
  • Windows7 64位系统安装PLSQL Developer的步骤和注意事项
    本文介绍了在Windows7 64位系统上安装PLSQL Developer的步骤和注意事项。首先下载并安装PLSQL Developer,注意不要安装在默认目录下。然后下载Windows 32位的oracle instant client,并解压到指定路径。最后,按照自己的喜好对解压后的文件进行命名和压缩。 ... [详细]
  • 海马s5近光灯能否直接更换为H7?
    本文主要介绍了海马s5车型的近光灯是否可以直接更换为H7灯泡,并提供了完整的教程下载地址。此外,还详细讲解了DSP功能函数中的数据拷贝、数据填充和浮点数转换为定点数的相关内容。 ... [详细]
  • Redis API
    安装启动最简启动命令行输入验证动态参数启动配置文件启动常用配置通用命令keysbdsize计算key的总数exists判断是否存在delkeyvalue删除指定的keyvalue成 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 本文介绍了在rhel5.5操作系统下搭建网关+LAMP+postfix+dhcp的步骤和配置方法。通过配置dhcp自动分配ip、实现外网访问公司网站、内网收发邮件、内网上网以及SNAT转换等功能。详细介绍了安装dhcp和配置相关文件的步骤,并提供了相关的命令和配置示例。 ... [详细]
  • IhaveconfiguredanactionforaremotenotificationwhenitarrivestomyiOsapp.Iwanttwodiff ... [详细]
  • React项目中运用React技巧解决实际问题的总结
    本文总结了在React项目中如何运用React技巧解决一些实际问题,包括取消请求和页面卸载的关联,利用useEffect和AbortController等技术实现请求的取消。文章中的代码是简化后的例子,但思想是相通的。 ... [详细]
  • 合并列值-合并为一列问题需求:createtabletab(Aint,Bint,Cint)inserttabselect1,2,3unionallsel ... [详细]
  • GreenDAO快速入门
    前言之前在自己做项目的时候,用到了GreenDAO数据库,其实对于数据库辅助工具库从OrmLite,到litePal再到GreenDAO,总是在不停的切换,但是没有真正去了解他们的 ... [详细]
  • 超级简单加解密工具的方案和功能
    本文介绍了一个超级简单的加解密工具的方案和功能。该工具可以读取文件头,并根据特定长度进行加密,加密后将加密部分写入源文件。同时,该工具也支持解密操作。加密和解密过程是可逆的。本文还提到了一些相关的功能和使用方法,并给出了Python代码示例。 ... [详细]
  • 本文记录了作者对x265开源代码的实现与框架进行学习与探索的过程,包括x265的下载地址与参考资料,以及在Win7 32 bit PC、VS2010平台上的安装与配置步骤。 ... [详细]
author-avatar
王尼玛的脑残粉
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有