码迷,mamicode.com
首页 > 系统相关 > 详细

linux下ssh安全连接

时间:2015-09-02 20:48:21      阅读:241      评论:0      收藏:0      [点我收藏+]

标签:ssh、ssh-keygen

   ssh是建立在应用层和传输层的安全协议,ssh协议可以防止计算机通信间的信息泄露问题。

   在linux下常用的ssh协议就是ssh 命令,和scp命令,没有设置安全密匙的ssh、scp。是基于口令的安全验证,使用远程命令后要输入密码,虽然这是一种安全连接,但还是在网络中传输密码,如果经常在多个linux系统之间操作,重复输入密码有些不方便。

   更加安全、高效的做法是设置一个安全密匙,就是建立一对安全密匙,公密和私密,把公密发给目的服务器上,目的服务器在每次收到客户端请求时会去比对你的密匙,如果公密一致,目的服务器就会用公密加密质询传输给客户端,客户端收到质询后就会用私密进行解密并把结果发给目的服务器,整个过程就不用在网络中传输密码,也不用重复输入密码。

   我们现在来实现安全密匙,实验环境是两台linux主机

A  IP:172.16.15.168

B  IP:172.16.15.24

简单的两台主机之间的登陆,A用ssh连接到B

在A客户端用root密码执行:ssh-keygen -t rsa 

ssh-keygen 是一个生成认证密匙的系统工具,使用的非对称加密算法包括

rsa、dsa

技术分享 

一路回车

你会发现在/root/.ssh/下生成了两个文件:id_rsa(私密),id_rsa.pub(公密)

把id_rsa.pub上传到B服务器并在B服务器下新建/root/.ssh/authorized_keys

把客户端的公密写入authorized_keys

cat id_rsa.pub >> authorized_keys (注意是追加不是覆盖)

技术分享 

这样在A客户端就可以不用输入密码ssh到B服务器

 

技术分享 

如果要双向连接的话就要在B服务器上使用:ssh-keygen -t rsa 

把生成的公密写到A端的authorized_keys中


如果想要一台主机访问多台服务器,是把自己的公密上传给目的服务器写入authorized_keys中(亲测无效)至今不知道为什么

要实现一台主机访问多台服务器,登录时不用输入密码就得相互把自己的

公密发给对方。

  这里只是一个简单的例子更多的ssh-keygen的用法和ssh的原理可以到openbsd

http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man1/ssh-keygen.1?query=ssh-keygen&sec=1

或者自行google

 


本文出自 “飞向capetown” 博客,请务必保留此出处http://capetowns.blog.51cto.com/8244664/1690902

linux下ssh安全连接

标签:ssh、ssh-keygen

原文地址:http://capetowns.blog.51cto.com/8244664/1690902

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