ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

ssh服务及简单应用

2019-09-04 15:50:22  阅读:204  来源: 互联网

标签:密钥 SSH 应用 简单 服务器 连接 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下

 

标签:密钥,SSH,应用,简单,服务器,连接,ssh,客户端
来源: https://www.cnblogs.com/zrxuexi/p/11459552.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有