SSH免密码登录配置总结,免密码登录

Linux SSH免密码登录配置总结

一、原理

我们使用ssh-keygen在ServerA上生成私钥跟公钥,将生成的公钥拷贝到远程机器ServerB上后,就可以使用ssh命令无需密码登录到另外一台机器ServerB上。

生成公钥与私钥有两种加密方式,第一种是rsa(默认),还有一种是dsa,使用时两种方式随便选一种即可

/usr/bin/ssh-keygen -t [rsa | dsa]
如果直接执行ssh-keygen,那么默认采用rsa生成公钥跟私钥

二、操作步骤

互信的原理了解了,我们可以把配置ssh互信的步骤进行有效的分割。
1.在要配置互信的机器(web-15和web-211)上生成各自经过认证的key文件。
2.将所有的key文件汇总到一个总的认证文件中。
3.将总的认证文件分发到想要进行互信的机器(web-211,web-15)
4.互信的验证

例如有如下两台机器:

主机 用户
192.168.27.211 web211
192.168.27.15 web15

第一步:登录192.168.27.211上面切换到web211用户

1.[[email protected]
~]$ /usr/bin/ssh-keygen -t rsa

按三次回车,在~/.ssh/目录下面便会生成如下id_rsa(私钥) 
id_rsa.pub(公钥)这两个文件

第二步:登录192.168.27.15上面切换到web15用户

1.[[email protected]
~]$ /usr/bin/ssh-keygen -t rsa 

2.[[email protected]
~]$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

第三步:在192.168.27.15上面汇总id_rsa.pub到authorized_keys文件中

1.[[email protected]
~]$ ssh
[email protected]
cat /home/web211/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

第四步:将192.168.27.15上面的authorized_keys文件分发到192.168.27.211上面

1.[[email protected]
.ssh]$ scp ~/.ssh/authorized_keys
[email protected]:~/.ssh/authorized_keys

第五步:修改authorized_keys文件的权限,只有当前互信用户可读写,否则通不过SSH的安全检查

15跟211都得执行:这步搞得我蛋疼了许久,这也是我做笔记的原因。

1.chmod 600 ~/.ssh/authorized_keys

到此为止,互信配置完毕,检测一下是否成功。

1.[[email protected]
.ssh]$ ssh
[email protected] 

2.[[email protected]
~]$  –这里变成了web211了,说明免登录进入了92.168.27.211 

下面关于SSH相关的文章您也可能喜欢,不妨参考下:

Ubuntu 下配置 SSH服务全过程及问题解决

Ubuntu 14.04 下安装Samba 及SSH 服务端的方法

SSH服务远程访问Linux服务器登陆慢

提高Ubuntu的SSH登陆认证速度的办法

开启SSH服务让Android手机远程访问 Ubuntu 14.04 

如何为Linux系统中的SSH添加双重认证

在 Linux 中为非 SSH 用户配置 SFTP 环境

Linux 上SSH 服务的配置和管理

本文永久更新链接地址:

SSH免密码登录配置总结 一、原理
我们使用ssh-keygen在ServerA上生成私钥跟公钥,将生成的公钥拷贝到远程机器ServerB上后,就可以使用ssh命…

SSH 免密码登录

SSH无密码登录要使用公钥与私钥。Linux下可以用用ssh-keygen生成公钥/私钥对,下面我以CentOS为例。

有机器A(192.168.1.155),B(192.168.1.181)。现想A通过ssh免密码登录到B。

1.在A机下生成公钥/私钥对。

[[email protected]
~]$ ssh-keygen -t rsa -P ”

-P表示密码,-P ”
就表示空密码,也可以不用-P参数,这样就要三车回车,用-P就一次回车。
它在/home/bkjia下生成.ssh目录,.ssh下有id_rsa和id_rsa.pub。

2.把A机下的id_rsa.pub复制到B机下,在B机的.ssh/authorized_keys文件里,我用scp复制。

[[email protected]
~]$ scp .ssh/id_rsa.pub [email protected]:/home/bkjia/id_rsa.pub
[email protected]’s password:
id_rsa.pub                                    100%  223    0.2KB/s 
00:00

由于还没有免密码登录的,所以要输入密码。

3.B机把从A机复制的id_rsa.pub添加到.ssh/authorzied_keys文件里。

[[email protected]
~]$ cat id_rsa.pub >> .ssh/authorized_keys
[[email protected]
~]$ chmod 600 .ssh/authorized_keys

authorized_keys的权限要是600。

4.A机登录B机。

[[email protected]
~]$ ssh 192.168.1.181
The authenticity of host ‘192.168.1.181 (192.168.1.181)’ can’t be
established.
RSA key fingerprint is
00:a6:a8:87:eb:c7:40:10:39:cc:a0:eb:50:d9:6a:5b.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‘192.168.1.181’ (RSA) to the list of known
hosts.
Last login: Thu Jul  3 09:53:18 2008 from bkjia
[[email protected]
~]$

第一次登录是时要你输入yes。

现在A机可以无密码登录B机了。

小结:登录的机子可有私钥,被登录的机子要有登录机子的公钥。这个公钥/私钥对一般在私钥宿主机产生。上面是用rsa算法的公钥/私钥对,当然也可以用dsa(对应的文件是id_dsa,id_dsa.pub)

想让A,B机无密码互登录,那B机以上面同样的方式配置即可。

提高Ubuntu的SSH登陆认证速度的办法

开启SSH服务让Android手机远程访问 Ubuntu 14.04 

如何为Linux系统中的SSH添加双重认证

在 Linux 中为非 SSH 用户配置 SFTP 环境

Linux 上SSH 服务的配置和管理

SSH入门学习基础教程

SSH免密码登录详解 

本文永久更新链接地址:

免密码登录
SSH无密码登录要使用公钥与私钥。Linux下可以用用ssh-keygen生成公钥/私钥对,下面我以CentOS为例。
有机器A(192.168.1.155),B(19…