zoukankan      html  css  js  c++  java
  • ssh服务及简单应用

    SSH主要功能及概要:
       1、SSH主要提供两个服务:一个是提供类似telnet远程联机服务器的服务,另一个是类似FTP服务的sftp-server,借助SSH协议来传输数据的,提供更安全的SFTP服务。
       2、默认端口是22,安全协议版本是SSH2
       3、服务端主要包含两个服务功能ssh远程连接,SFTP服务
       4、ssh客户端包含ssh连接命令,以及远程拷贝scp命令sftp命令等
    SSH结构:
       SSH服务由服务端软件openssh和客户端(常见客户端:SSH,CRT,putty,xshell)组成,SSH服务默认使用22端口提供服务,它有两个不兼容的SSH协议版本,分别是1.x和2.x
    加密机制:通过密钥机制的
       1.客户端连接服务端,服务端发送密钥
       2.客户端生成密钥然后整合服务端密钥,形成新的密钥
       3.通过密钥对解密进行交流
    配置文件:/etc/ssh/sshd_config
    SSH1.X整个联机加密步骤:
       1.当ssh服务启动的时候,就会产生一个768-bit的临时公钥(sshd_config配置文件中)存放在server中
       2.当client端SSH联机请求传送过来时,服务器就将这个密钥发给客户端,客户端就会对比现在的公钥与之前存储的公钥,看是否一样。判断标准时客户端联机用户目录下~/.ssh/known-hosts文件的内容(Linux客户端)
       3.客户端收到后再自己生成一个256-bit的私钥,并将私钥与公钥整合成一对完整的密钥,再传给服务端
       4.完成以后,服务与客户端就以这对1024-bit的密钥进行数据的传递
       SSH1.X是不安全的,当他第一次收到共享密钥对后,就不再检查,所以内容可能会被截获并修改
    SSH2.X整个联机加密步骤:
       其他与SSH1.X一样,就是多加了一个确定联机正确性的Diffie-Hellman机制,在每次传输数据中,服务端都会用该机制检查数据的来源是否正确
    SSH的服务认证类型:
       1、基于口令的安全验证:
          基于口令的安全验证的方式就是大家现在一直在用的,只要知道服务器的SSH连接账号和口令(当然也要知道对应服务器的ip及开放端口),就一颗通过ssh客户端登陆到这台远程主机。
          Linux中两个服务器之间连接:ssh -p端口号   用户名@ip地址
                  ssh -p23         zr@192.168.1.1
       2、基于密钥的安全验证:
          基于密钥的安全验证方式是指,需要依靠密钥,也就是必须事先建立一对密钥对,然后把公用密钥放在需要访问的目标服务器上,另外,还需要把私有密钥放到ssh的客户端或对应的客户端上。
         此时,如果要想连接到这个带有公用密钥的SSH服务器,客户端SSH软件或者客户端服务器就会向SSH服务器发出请求,请求用联机的用户密钥进行安全验证。SSH服务器收到请求之后,会先在该SSH服务器上连接的用户的家目录下寻找事先放,上去的对应用户的公用密钥,然后把它和连接的SSH客户端发送过来的公用密钥进行比较。如果两个密钥一致,SSH 服务器就用公用密钥加密“质询”( challenge)并把它发送给SSH客户端。
          SSH客户端收到“质询”之后就可以用自己的私匙解密,再把它发送给SSH服务器。使用这种方式,需要知道联机用户的密钥文件。与第-种基于口令验证的方式相比,第二种方式不需要在网络上传送口令密码,所以安全性更高了,这时我们也要注意保护我们的密钥文件,特别是私钥文件,一旦被黑客获取,危险就很大了。I
    给一个端口如何查看:lsof -i :22   或者是 netstat -lntup|grep 22
    SSH服务的安全优化:
          修改配置文件sshd_config:
                   修改默认端口:Port     52113
                   禁止远程登陆root:Permi tRootLogin no
                   禁止空密码登陆:Permi tEmptyPasswords no
                   不使用DNS:UseDNS no
                   加速连接:百度去
    示例:Linux客户端通过ssh连接: 

    ssh -p22 zr@192.168.157.132 #语法基本格式

       在ip地址后面还可以执行简单的命令比如:

    ssh -p 22 zr@192.168.157.132     /sbin/ifconfig #注意命令需要全路径,并且此操作不会切到别的用户上去

        当提示拒绝连接的时候:1、查看ssh连接的端口

                  2、查看ip地址是否正确
                  3、ssh服务是否开启
       当第一次连接的时候,本地会产生一个密钥文件~/.ssh/known_hosts
    SSH客户端附带的远程拷贝命令scp命令:注意这里参数-P是大写
         scp 的基本语法使用:scp - secure copy
         scp -P22 要拷贝的文件  zr@192.168.157.132:/接目录
         拉文件:scp -P22  zr@192.168.157.132:/接文件    放到哪里
    SSH服务附带的sftp功能服务:
         sftp -oPsrt=端口号  zr@192.168.157.132 就能连上啦默认连接的的目录是对象的家目录
          参数:put可以上传文件    get可以下载文件
          

    put  /etc/hosts   /temp/#把/etc/hosts从客户端本地传到sftp服务器指定的目录/temp下
  • 相关阅读:
    wordpress 自己制作子主题 child theme
    wordpress 主题开发
    python的曲线平滑工具,及python画一条线中包含不同粗细不同颜色的画线方法
    openfire 使用已有的数据库作为用户认证数据库 Custom Database Integration Guide
    How to store scaling parameters for later use
    在android上跑 keras 或 tensorflow 模型
    Win10更新搜狗输入法后重启输入密码蓝屏
    Audition CC2019 MME设备内部错误怎么解决!
    数据库优化解决方案
    微信小程序文本如何换行
  • 原文地址:https://www.cnblogs.com/zrxuexi/p/11459552.html
Copyright © 2011-2022 走看看