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下

 

posted @ 2019-09-04 15:47  caibutou  阅读(1007)  评论(0编辑  收藏  举报