码迷,mamicode.com
首页 > 其他好文 > 详细

ssh服务简介

时间:2015-03-05 10:58:04      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:ssh

1.联机加密技术简介:

    公钥:提供给远程主机进行数据加密的行为,也就是说,大家都能取得你的公钥来将数据加密。

    私钥:远程主机使用的你的公钥加密的数据,在本地端能够使用私钥来进行解密。由于私钥是这么的重要,因此私钥是不能够外流的,只能保存在自己的主机上。

    由于每部主机都应该有自己的密钥(主机的公钥和自己的私钥),且公钥用来加密而私钥用来解密,其中私钥不可外流。但因为网络联机是双向的,所以,每个人应该都要有对方的公钥才对。

2.目前ssh的版本有两种,version1version2,其中version2加上了联机检测机制,可以避免联机期间被插入恶意的攻击码,因此比version1更加安全。

3.ssh联机行为简介

    联机步骤:

    1)  服务器建立公钥档:每次启动sshd服务时,该服务会主动去找/etc/ssh/ssh_host*的档案,若系统刚刚安装完成时,由于没有这些公钥档案,因此sshd会主动去计算出这些需要的公钥档案,同时也会计算出服务器自己需要的私有档案。

    2)  客户端主动联机的要求:若客户端想要联机到ssh服务器,则需要使用适当的客户端程序来联机,包括sshpietty等客户端程序

    3)  服务端传送公钥给客户端:接收到客户端的要求后,服务器便将第一个步骤取得的公钥档案传送给客户端使用(此时应是明码传送)。

    4)  客户端记录比对服务端的公钥数据及随机计算自己的公私钥:若客户端第一次连接到此服务器,则会将服务器的公钥数据记录到客户端的用户家目录内的~/.ssh/known_hosts。若是已经记录过该服务器的公钥数据,则客户端会去比对此次接收到的与之前的记录是否有差异。若接受此公钥数据,则开始计算客户端自己的公私钥数据。

    5)  回传客户端的公钥数据到服务器端:用户将自己的公钥传送给服务器。此时服务器具有服务器的私钥和客户端的公钥,而客户端则是具有服务端的公钥以及客户端自己的私钥,由于服务器端和客户端的密钥系统(公钥+私钥)并不一样,所以也被叫做非对称式密钥系统

    6)  开始双向加密:服务器到客户端,服务器传送数据时,拿用户的公钥加密后送出,客户端接收后,用自己的私钥解密;客户端到服务器端,客户端传送数据时,拿服务器的公钥加密后送出,服务器接收后,用服务器的私钥解密。

整个过程如图所示:

    技术分享

    由上可知,客户端的密钥是随机运算产生于本次联机当中的,所以你这次的联机与下次的联机的密钥可能会不一样。此外在客户端的家目录下(~/.ssh/known_hosts)会记录曾经联机过的主机的public key,用以确认我们是连上正确的那部服务器。

4.产生新的服务端公钥和私钥的方法是:删除/etc/ssh/ssh_host*文件,然后重启sshd服务。

5.ssh提供shellssh-ftp  server两项服务。默认使用的端口都是22

6.ssh  [–f] [-o 参数项目]  [ -p 非正规端口]  [账号@]IP  [指令]:直接登入远程主机的指令,参数,

    1-f:需要配合后面的指令,不登入远程主机直接发送一个指令过去而已

    2-o:参数项目:主要的参数项目有,

             ConnectTimeout=秒数:联机等待的秒数,减少等待的时间

             StrictHostKeyCheking=[yes|no|ask]:预设是ask,若让public key主动加入known_hosts,则可以设定为no即可

    3-p:设定登录的端口(在使用非默认端口时,有用)

    4[指令]:与-f结合,在不登入主机的前提下,向主机发送的指令,此种方式指令会在主机上运行,客户端和服务器的链接已断开,即不会出现客户端卡顿的情况,若不加f,则需要等指令执行完后,客户端才会响应。

     5)当未指定账号登录时,会以当前账号登录主机。

7.远程主机由于系统重装,或删除/etc/ssh/ssh_host*文件等原因造成服务端主机公钥变化后,会造成客户端无法连接主机。解决方法是将~/.ssh/known_hosts文件中对应的行删掉,然后重新连接。

8.sftp 用户名@主机IP或域名:使用ssh的通道进行文件的上传和下载。支持的指令有:

    1)cd:切换目录

    2)ls:显示目录下的文件

    3)mkdir:创建目录

    4)rmdir:删除目录

    5)pwd:显示目前的路径

    6)chgrp:修改档案或目录的群组

    7)chown:修改档案或目录的拥有者

    8)chmod:修改档案或目录的权限

    9)ln oldnamenewname:建立连接档

    10)rm Path:删除档案或目录

    11)renameoldname newname:更改档案或目录名称

    12)exitbyequit:离开远程主机

    13)针对本机的行为都加上l(localhost的首字母),如lcdlls等。

    14)put [本机目录或档案] [远程]:将档案由本机上传到远程主机上,如果不指定远程主机的目录,将放在目前远程主机的目录下

    15)get [远程主机目录或档案] [本机]:将档案由远程主机下载下来,若不指定本机目录,则档案将放在目前本机所在的目录当中。

9.scp [-pr] [-l 速率]  file  [账号@ ]主机:目录名:上传;

scp [-pr] [-l 速率]  [账号@ ]主机:file  目录名:下载;参数,

    1)-p:保留原本档案的权限数据

    2)-r:复制来源为目录时,可以复制整个目录(包含子目录)

    3)-l:可以限制传输速度,单位是Kbits/seg-l 800代表100KBytes/s


本文出自 “虎哥的博客” 博客,请务必保留此出处http://7613577.blog.51cto.com/7603577/1617509

ssh服务简介

标签:ssh

原文地址:http://7613577.blog.51cto.com/7603577/1617509

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!