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

ssh 免密码登陆

时间:2017-06-14 18:06:35      阅读:106      评论:0      收藏:0      [点我收藏+]

标签:代码   rsa   方式   art   输入   any   star   author   文件   

 

服务器被登陆的时候,需要用户提供它的密码。

 

ssh someuser@somehost

 

有时人们会觉得输入密码比较麻烦。有时服务器是不想让人直接登陆,但是又必须允许部分人登陆进来。

 

这个时候,服务器提供了一个方式,需要客户端提供一个证明他是合格的登陆者的资质。当然了,客户端登陆的时候会把另外一些信息和这个资质进行匹配。

 

这基本上就是RSA非对称加密的公钥和私钥。

 

===========================================

 

服务器端必须要打开sshd服务,并且

/etc/ssh/sshd_config文档中,如下代码不能被注释掉:

RSAAuthentication yes  

PubkeyAuthentication yes  

AuthorizedKeysFile      .ssh/authorized_keys

 

客户需要通过ssh-kengen生成两个文件,一个公钥,带pub,一个私钥,不带pub

  1. $ ssh-keygen -t rsa -b 2048 -f server_rsa -C "xxx@company"  

-t rsa 表示使用RSA加密得法,你也可以使用dsa代替。-b 2048表示使用2048位加密,如果你对安全性要求更高,可以使用4098位加密。-f server_rsa表示要生成的文件名为server_rsa(密钥)和server_rsa.pub(公钥)。最后的-C "xxx@company"是注释,会追加在造成的Key文件尾部,通常会写上用户或机器的身份信息备查。之后输入RSA Key的使用密码并确认,ssh-keygen命令就会造成一对密钥对。把生成的密钥对拷贝到本机的~/.ssh/下

***以上server_rsa在windows下最好改为id_rsa,不知道为什么

 

然后把这个公钥的内容,复制到服务器上的 ~/.ssh/authorized_keys文件的末尾,成为独立的一行。

 

当然了,要保证.ssh文件夹的权限为700,authorized_keys文件的权限为600。

 

这样一来,客户端就可以ssh免密码登陆了,这个时候服务器上对应的用户的密码都可以删除了(无法远程登陆了,不是删除用户)。

 

git私有服务器也可以利用以上方式。

 

ssh 免密码登陆

标签:代码   rsa   方式   art   输入   any   star   author   文件   

原文地址:http://www.cnblogs.com/voctrals/p/7010025.html

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