ssh协议包.docx
《ssh协议包.docx》由会员分享,可在线阅读,更多相关《ssh协议包.docx(10页珍藏版)》请在冰豆网上搜索。
ssh协议包
编号:
_______________
本资料为word版本,可以直接编辑和打印,感谢您的下载
ssh协议包
甲方:
___________________
乙方:
___________________
日期:
___________________
说明:
本合同资料适用于约定双方经过谈判、协商而共同承认、共同遵守的责任与义务,同时阐述确定的时间内达成约定的承诺结果。
文档可直接下载或修改,使用时请详细阅读内容。
ssh协议包
篇一:
ssh协议
(3)ssh协议
介绍:
ssh是英文secureshell的简写形式。
通过使用
ssh,你可以把所有传输的数据进行加密,这样"中间人"这
种攻击方式就不可能实现了,而且也能够防止dns欺骗和ip
欺骗。
使用ssh,还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。
ssh有很多功能,它
既可以代替telnet,乂可以为Ftp、pop、甚至为ppp提供一个安全的"通道"。
用法:
1.服务端
(一)(linux系统)
1.测试ssh服务器是否开启
启动ssh服务非常的简单,在现在大多数的linux版本
中都是默认启动了ssh服务的。
使用netstat-a查看ssh否
开启,如出现相应端口22则为启用;
2.如何启动ssh服务
第i页共ii页
启动的方式:
serversshdrestart或
/etc/init.d/sshdsshd。
(二)(windows系统)
1.测试ssh服务器是否开启
在windows下没有ssh服务端和客户端,需要下载软件
安装(xshell)
2.如何启动ssh服务
下载安装成功即可
(三)(windowsxp系统)
1.测试ssh服务器是否开启
下载ssh服务端和客户端控件,安装完成。
2.在ie浏览器登录运维安全审计系统一添加资源一授
权一单点登录即可通过ssh连接远程服务器。
2.客户端
(linux系统)
1.连接到远程主机指定的端口
linux系统中”打开终端”输入如下命令:
ssh堡垒机帐号硬垒机ip地址-p20xx命令格式:
sshname@remoteserver-p20xx
说明:
p参数指定端口号,通常在路由里做端口映射时,
我们不会把22端口直接映射出去,而是转换成其他端口号,
这时就需要使用-p端口号命令格
(windows系统)
1.xshell远程连接linux
2.打开xshell
3.打开xshell,输入远程linux的ip地址
到如下会话框:
起名字为danjitest.
4.建立会话框
单击确定,会看到如下会话框:
5.输入用户名和密码,点击确定。
这样就能在window下
远程操控linux了
3.ssh技术补充
(linux系统)
1.通过远程主机1跳到远程主机2:
命令格式:
ssh-tremoteserver1sshremoteserver2
说明:
当远程主机remoteserver2无法直接到达时,可
以使用-t参数,然后由remoteserver1跳转到
remoteserver2。
在此过程中要先输入remoteserver1的密码,然后再输入remoteserver2的密码,然后就可以操作remoteserver2了。
2.通过ssh运行远程shell命令:
命令格式:
ssh-lnameremoteserver'command
说明:
连接到远程主机,并执行远程主机的command^
令。
例如:
查看远程主机的内存使用情况。
3.修改ssh监听端口:
默认情况下,ssh监听连接端口22,攻击者使用端口扫
描软件就可以看到主机是否运行有ssh服务,将ssh端口修
改为大于1024的端口是一个明智的选择,因为大多数端口扫描软件(包括nmap)默认情况都不扫描高位端口。
打开/etc/ssh/sshd_config文件并查找下面这样的行:
port22
去掉该行前面的#号,然后修改端口号并重新启动ssh
服务:
$/etc/init.d/sshrestart
4.仅允许ssh协议版本2:
有两个ssh协议版本,仅使用ssh协议版本2会更安全,
ssh协议版本1有安全问题,包括中间人攻击
(man-in-the-middle)和注入(insertion)攻击。
编辑
/etc/ssh/sshd_config文件并查找下面这样的行:
#protocol2,1修改为protocol2
5.禁止root用户登录:
通常情况下,不采用直接用root用户登录到远程主机,
由于root用户拥有超级权限,这样会带来安全隐患,所以,
一般我们用普通用户登录,当需要管理远程主机时,再切换
到root用户下。
打开/etc/ssh/sshd_config文件并查找下
面这样的行:
#permitRootloginyes
将#号去掉,然后将yes修改成no,重启ssh服务,这样就可以禁止root用户登录。
6.设置登录时提示信息
首先编辑一个文件,如bannertest.txt,文件内容自行
定义。
然后打开/etc/ssh/sshd_config文件并查找下面这样
的行:
#banner/some/path
将#号去掉,然后将bannertest.txt文件的全路径替换
/some/path,然后保存,重启ssh服务。
当客户端登录时,
就会看到bannertest.txt文件中的提示信息。
7.进行端口映射:
假如公司内网有台web服务器,但是只对内不对外,这
样,外网就无法访问,可以用ssh进行端口映射来实现外网访问内网的web服务器。
假如web服务器名为webserver,webserver可以用ssh访问到远端主机remoteserver,登录到webserver,然后用下面命令进行映射
命令格式:
ssh-R3000:
localhost:
80remoteserver
执行完成后,在remoteserver机器上,执行
netstat-an|grep3000,查看有没有开通
篇二:
ssh协议
ssh协议
ssh为secureshell的缩写,由ietF的网络工作小组所制定,ssh为建立在应用层和传输层上的安全协议,ssh是
目前交可靠,专为远程登录服务器提供安全性的协议。
利用ssh协议可以有效防止远程管理过程中的信息泄漏问题。
ssh也俗称三层构架
第一层:
实体类层
第二层:
业务逻辑层
第三层:
表示层(先是层)
ssh的安全验证工作原理
从客户端来看,ssh提供两种级别的安全验证
第一种级别(基于口令的安全验证)只要知道自己的张哈和口令,就可以登录到远程主机。
所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器,可能会有别的服务器在冒充真正的服务器,也就是受到“中间人”这种方式的攻击。
第二种级别(基于密钥的安全验证)需要依靠密钥,也就是你必须为在即创建一堆密钥,并把公用密钥放在安全访问的服务器上,如果你要连接到ssh服务器上,客户端软件
就会向服务器发出请求,请求用你的密钥进行安全验证。
服
务器收到请求之后,先在你在该服务器的目录下寻找你的公
用密钥,然后把它和你发送过来的公用密钥进行比较。
如果
两个密钥一致,服务器就用公用密钥一致加密“质询”
(challenge)并把它发送给客户端软件。
客户端软件收到
“质询”之后可以用你的私人密钥解密再把它发送给服务器。
用这种方式必须知道自己密钥的口令。
但是,与第一种级别
相比,第二种级别不需要在网络上传送口令。
第二种级别不仅加密所偶传送的数据,而且“中间人”
这种攻击方式也是不可能的(因为他没有你的私人密钥)但
是整个登录过程可能需要10秒。
ssh分为两部分:
客户端部分和服务端部分
服务端是一个守护进程(demoD,它在后台运行并响应
来自来自客户端的连接请求,服务端一般是sshd进程,提
供了对远程连接的处理,一般包括公共密钥认证、密钥交换、
对称密钥加密和安全连接
客户端包含ssh程序以及像scp(远程拷贝),slogin
(远程登录)sftp(安全文件传输)等其他的应用程序
他们的工作机制大致是本地的客户端发送一个连接请
求到远程的服务端。
服务端检查社情的包和ip地址再发送
密钥给ssh的客户端,再将密钥发回给服务端,自此连接建
立。
篇三:
ssh与scp小指南
一.sshl.
掀起ssh
的盖头来
linux下有很多用于网络传输,远程控制的工具,如rsh、
Ftp、pop和telnet。
但是它们在网络上用明文传送数据、用户帐号和用户口令,很容易受到中间人
(man-in-the-middle)攻击方式的攻击。
故需要更加安全的方式,于是就诞生了ssh.
如下图传统的网络服务程序,如rsh、Ftp、pop和telnet
等表示:
ssh,即secureshell的缩写,从释义(安全的shell)来
看,其重头戏就是安全性,在linux下广泛使用免费的
openssh程序来实现ssh协议。
更多关于ssh的内容,可以参考这里我总结如下:
优势:
ssh是在应用层和传输层基础上的安全协议;(ssh协议
包)对传输的所有数据包括明文传送数据、用户帐号和用户口令等进行加密处理所以其安全性是无可比拟的;
由于其传输的数据可以是经过压缩的,所以其传输速度
很快;对于提供了密钥后,ssh连接变得简易方便;ssh协议同时也提供可扩展能力。
框架:
ssh协议框架中最主要的部分是三个协议:
传输层协议
(thetransportlayerprotocol)/用户认证协议
(theuserauthenticationprotocol)/连接协议
(theconnectionprotocol).框架示意图可表示如下:
图片出处:
ssh协议交互过程
安全:
ssh提供了两种级别的安全验证,基于口令和基于密钥。
只要你知道自己帐号和口令,就可以登录到远程主机。
所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。
可能会有别的服务器在冒充真正的服务器,也就是受到“中间人”这种方式的攻击。
第二种级别(基于密钥的安全验证),需要依靠密钥,也就是你必须为自己创建一对密钥,并把公有密钥放在需要访问的服务器上。
客户端软件会向服务器发出请求,请求用你的密钥进行安全验证。
服务器收到请求之后,先在你在该服务器的用户根目录下寻找你的公有密钥,然后把它和你发送过来的公有密钥进行比较。
如果两个密钥一致,服务器就用公有密钥加密“质询”(challenge)并把它发送给客户端
软件。
从而避免被“中间人”攻击。
为了更形象,我绘丑图如下:
第一种方式常见于要求你输入用户名(linux分配给你
的用户)和密码,如下:
第二种方式常见于我们使用git或github时,往自己
用户下添加密钥的方式。
如:
2.入门指南
2.1远程登录
远程登陆,需要用户名user,登录远程主机host,命
令如下:
如果本地用户名与远程用户名一致,登录时可以省略用户名。
ssh的默认端口是22,也就是说,你的登录请求会送进
远程主机的22端口。
使用p参数,可以修改这个端口。
在第一次登陆远程时,会有如下提醒,质询是否加入远
程known_hosts文件中:
theauthenticityofhostarvo.suso.org(216.9.132.134)ca
ntbeestablished.Rsakeyfingerprintis53:
b4:
ad:
c8:
51:
1
7:
99:
4b:
c9:
08:
ac:
c1:
b6:
05:
71:
9b.areyousureyouwanttocontinueconnecting(yes/no)yeswarning:
permanentlyaddedarvo.suso.org(Rsa)tothelistofknownhosts.
下次再连接这台主机,远程主机会辨识ssh用户的公钥
是否保存本地,若已保存则跳过警告部分,直接提示输入密码。
但是还是会每次都输入密码,很烦人,能不能跳过这个
步骤呢?
这就用到了公钥登录了。
这就是下面所要学习的内
容,sshkey!
3.sshkey是什么
sshkey将会自动登陆远程主机,而不用使用密码,这对
于频繁远程连接和scp操作是很方便的。
它会在用户主目录.ssh目录下生成密钥对(公钥和私钥)。
用户将自己的公钥储存在远程主机上。
登录的时候,远程主机会向用户发送一段随机字符串,用户用自己的私钥加密后,再发回来。
远程主机用事先储存的公钥进行解密,如果成功,就证明用户是可信的,直接允许登录shell,不再
要求密码。