ssh 免密码登录

注意:如果A机器需要免密码登录B机器,则需要把A机器的公钥id_rsa.pub 加到 B机器的authorized_keys,不要弄反了

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

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

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

[chenlb@A ~]$ ssh-keygen -t rsa 

不用输入任何东西,回车三次
它在/root下生成.ssh目录,.ssh下有id_rsa和id_rsa.pub。

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

[chenlb@A ~]$ scp .ssh/id_rsa.pub chenlb@192.168.1.181:/home/chenlb/id_rsa.pub 
chenlb@192.168.1.181's password:
id_rsa.pub                                    100%  223     0.2KB/s   00:00

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

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

[chenlb@B ~]$ cat id_rsa.pub >> /root/.ssh/authorized_keys
[chenlb@B ~]$ chmod 600 /root/.ssh/authorized_keys

注意:authorzied_keys是文件,不是目录,把A机的公钥id_rsa.pub的内容追加到B机的/root/.ssh/authorized_keys文件中。authorized_keys的权限要是600,不能是777及其他。

4.A机登录B机。

[chenlb@A ~]$ 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 chenlb
[chenlb@B ~]$

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

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

特别要注意文件权限,问题,不然会出现各种问题,导致无法免密码登录。

(1)root 目录权限

(2).ssh目录权限

(3)公钥私钥权限

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

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

时间: 2024-11-08 17:46:56

ssh 免密码登录的相关文章

如何在 CentOS / RHEL 上设置 SSH 免密码登录

如何在 CentOS / RHEL 上设置 SSH 免密码登录 作为系统管理员,你计划在 Linux 上使用 OpenSSH,完成日常工作的自动化,比如文件传输.备份数据库转储文件到另一台服务器等.为实现该目标,你需要从主机 A 能自动登录到主机 B.自动登录也就是说,要在 shell 脚本中使用ssh,而无需要输入任何密码. 本文会告诉你怎样在 CentOS/RHEL 上设置 SSH 免密码登录.自动登录配置好以后,你可以通过它使用 SSH (Secure Shell)和安全复制 (SCP)来

如何在CentOS/RHEL上设置SSH免密码登录

作为系统管理员,你计划在 Linux 上使用 OpenSSH,完成日常工作的自动化,比如文件传输.备份数据库转储文件到另一台服务器等.为实现该目标,你需要从主机 A 能自动登录到主机 B.自动登录也就是说,要在 shell 脚本中使用ssh,而无需要输入任何密码. 本文会告诉你怎样在 CentOS/RHEL 上设置 SSH 免密码登录.自动登录配置好以后,你可以通过它使用 SSH (Secure Shell)和安全复制 (SCP)来移动文件. SSH 是开源的,是用于远程登录的最为可靠的网络协议

ssh免密码登录-ssh 免密码登录 ,不成功 ,还要密码

问题描述 ssh 免密码登录 ,不成功 ,还要密码 总是做不对,每次还是要密码,,有没有 详细点的步骤呢 ,,谢谢 解决方案 是为了hadoop 做ssh免密码登录吗? 以前写过一篇博客 是关于这个的 你看下 不行继续提问http://blog.csdn.net/p_max/article/details/45701241 解决方案二: 根据文章回复 ,现在可以了,ssh-add 有的时候需要执行下 此命令,感谢

ubuntu16.04服务器配置ssh免密码登录_Linux

在客户端操作 ssh-keygen -t rsa 文件位置写/home/try/.ssh/server_rsa,不使用默认值,我命名为server_rsa担心影响到git的key(因为我的git使用的是默认值) ssh-copy-id root@123.45.56.78(你的服务器ip), 或这使用 cat ~/.ssh/id_rsa.pub | ssh user@123.45.56.78 "mkdir -p ~/.ssh && cat >> ~/.ssh/autho

Linux下实现SSH免密码登录和实现秘钥的管理、分发、部署SHELL脚本分享_linux shell

环境: ssh server: 192.168.100.29  server.example.com ssh client: 192.168.100.30  client.example.com 通过root用户建立秘钥认证实现SHELL脚本管理,分发,部署 首先client端创建秘钥对,并将公钥分发给需要登录的SSH服务端 注:公钥相当于锁,私钥相当于钥匙,我们这里相当于在客户端创建一对钥匙和锁,想要做到SSH免密码登录,就相当于我们将锁分发到服务端并装锁,然后客户端就可以利用钥匙开锁. 一.

CentOS/RHEL上设置SSH免密码登录的教程

以下步骤在 CentOS 5/6/7.RHEL 5/6/7 和 Oracle Linux 6/7 上测试通过. 节点1:192.168.0.9 节点2 : 192.168.l.10 步骤一 : 测试节点1到节点2的连接和访问: [root@node1 ~]# ssh root@192.168.0.10 The authenticity of host '192.168.0.10 (192.168.0.10)' can't be established. RSA key fingerprint i

linux下ssh免密码登录远程服务器配置

在linux下使用ssh登录远程主机是非常容易的事,但对于懒人来说,经常输入密码却是一个非常痛苦的事,下面告诉你怎么免输入远程主机密码而ssh登录到服务器. 以下操作均在本地主机上进行,非root用户,系统是debian wheezy. 本地主机: ssh-keygen -b 1024 -t rsa 连续按Enter回车键即可,就会在~/.ssh/下生成两个文件: id_rsa  id_rsa.pub 我们需要做的就是上传id_rsa.pub到远程主机. #远程主机添加.ssh目录 ssh le

Ubuntu下如何设置ssh免密码登录安装_Linux

1.首先在本机安装openssh-server和openssh-client. 命令:sudo apt-get install openssh-server openssh-client 2.在检查当前的目录下有没有.ssh这个文件,没有的话就mkdir下. 3.生成公钥与私钥.命令:ssh-keygen -t rsa 4.将.ssh文件中的id_isa_pub复制到其他机器的authorized_keys下.并修改authorized_keys权限为600. 5.ssh nodeXX即可

浅谈ssh的相互免密码登录

2台Linux机器之间的相互ssh免密码登录,假设A, B 2台电脑,都有用户user1. 在Host A上, 以用户user1执行命令 ssh-keygen 生成私钥id_rsa和公钥id_rsa.pub, 再执行命令 ssh-copy-id user1@HostB 将公钥拷贝到Host B上,并需要输入Host B上的user1密码,则Host A到Host B ssh 免密码登录 将Host A上的私钥scp到Host B上 scp ~/.ssh/id_rsa user1@HostB:~/