- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
从入门到精通:构建SSH安全通道.doc
从入门到精通:构建SSH安全通道~教育资源库
SSH命令行实用程序是远程系统的工作人员安全访问的通道。SSH代表着安全外壳,所以你可能认为其最常用的使用方法就是用作一个远程外壳。也许这是其最常见的应用,但并非使用SSH的唯一的有趣方法。
一、连接、执行远程命令并使用授权密钥
1、创建一个连接
为通过SSH进行通信,你首先需要建立一个到达远程服务器的连接。使用SSH命令行实用程序时,我们有很多参数选择。最基本的命令行参数是:
1、SSH IP地址
在这里,IP地址就是你想要连接的服务器的IP地址。下面是一个简单的例子:
abc:~ jmjones$ ssh 192.168.1.20
The authenticity of host #39;192.168.1.20 (192.168.1.20)#39; can#39;t be established.
RSA key fingerprint is 24:1e:2e:7c:3d:a5:cd:a3:3d:71:1f:6d:08:3b:8c:93.
Are you sure you anently adiddle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
24:1e:2e:7c:3d:a5:cd:a3:3d:71:1f:6d:08:3b:8c:93.
Please contact your system administrator.
Add correct host key in /Users/jmjones/.ssh/knoessage.
Offending key in /Users/jmjones/.ssh/knojones192.168.1.20#39;s passail.
Last login: Tue Dec 30 06:36:20 2008 from abc
jmjonesoksir:~$
笔者键入了口令,然后ssh客户端与远程服务器建立了一个交互连接。在此,可以看出登录到一个Linux服务器的证据,如上次登录的时间。
3、授权密钥
如果我们不想在每次登录时都键入口令该怎
1234下一页 友情提醒:,特别!么办?或者,笔者是一个系统管理员,希望让服务器更强健,让不法之徒难以猜测,又该如何呢?我们可以使用一个公钥/私钥对来让登录到服务器的过程更安全更简单。
为使用公钥/ 私钥对,我们必须创建它。可通过在命令行使用ssh ndash;keygen程序来达此目的。其实,该命令还是有许多参数的,如密钥的类型、想要创建的文件名、密钥文件的。
4、执行远程命令
前面提到,在SSH连接到远程服务器后,默认地我们就处于外壳提示符下,但这并不是我们可做的唯一事情。使用SSH客户端的另外一个有用方法是在远程服务器上执行命令,而不用键入到远程服务器上的交互外壳中。也就是说,在本地系统上执行SSH程序时,你可以指定在远程系统上运行什么命令。例如,如果希望看到某个进程是否正在远程系统的25号端口上监听,可像如下一样操作:
abc:~ jmjones$ ssh 192.168.1.20 stat -ltpn | grep 25
(Not all processes could be identified, non-ojones$ ssh -L 8143:localhost:143 oksir
注意,这里的-L参数指明了这是一种本地转发。而8143指明了笔者希望将127.0.0.1:8143绑定为隧道源。localhost:143指明了要将通信转发到何处。虽然在远程端上指明为localhost,但也可以指定远程系统可以与之通信的任何地址和端口。最后,oksir指明了笔者希望以SSH方式进入的机器。
在运行此命令之前,笔者运行了stat命令,查看在笔记本电脑abc上是否有什么东西正在8143端口上监听:
abc:~ jmjones$ stat -an | grep 8143
abc:~ jmjones$
根据运行的结果可知没有什么正在监听,在创建隧道之后,再次运行stat命令,这时看到了不同的结果:
abc:~ jmjones$ stat -an | grep 8143
tcp4 0 0 127.0.0.1.8143 *.* LISTEN
tcp6 0 0 ::1.8143
从上面的stat命令的运行结果可以看出,SSH客户端上的某程序正在127.0.0.1(本地
文档评论(0)