ssh 免密码登陆

Posted 闯大

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ssh 免密码登陆相关的知识,希望对你有一定的参考价值。

 

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

 

ssh [email protected]

 

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

 

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

 

这基本上就是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 "[email protected]"  

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

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

 

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

 

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

 

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

 

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

 

以上是关于ssh 免密码登陆的主要内容,如果未能解决你的问题,请参考以下文章

ssh免密码登陆

SSH免密码登录

Linux配置SSH免用户免密码登陆

SSH免密码登陆

ssh免密码登陆

设置 SSH 免密码登陆——仍提示输入密码