1.在master机器上生成公钥:

[root@master ~]# ssh-keygen -t rsa    注:一直按enter键就可以生成了

Generating public/private rsa key pair.

Enter file in which to save the key (/root/.ssh/id_rsa):

Created directory '/root/.ssh'.

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in /root/.ssh/id_rsa.

Your public key has been saved in /root/.ssh/id_rsa.pub.

The key fingerprint is:

81:39:eb:23:2c:f9:75:af:93:cb:76:00:87:3e:cf:0f root@master

The key's randomart image is:

+--[ RSA 2048]----+

|                 |

|       o         |

|      +..        |

|      oo..       |

|     ..oS        |

|   o .o .        |

|  o o ++Eo       |

|   o o +*o.      |

|    .  .+*o      |

+-----------------+

2..执行 cp id_rsa.pub authorized_keys

3.把master上面的authorized_keys文件复制到Slave机器上

scp authorized_keys slave:~/.ssh

4..slave1上的修改.ssh目录的权限以及authorized_keys 的权限(这个必须修改,要不然还是需要密码)

sudo chmod 644 /root/.ssh/authorized_keys
 
sudo chmod 700 /root
sudo chmod 700 /root/.ssh
5.在master上登陆:
输入ssh slave1 不需密码登陆slave1则设置成功!
 
提示:master上想无密码登陆slave1,则需把master生成的公钥放到slave1上;反之,slave1想无密码登陆master,则需要把slave1的公钥放到master上。
 
无法免密码登陆问题:

1、权限问题

.ssh目录,以及当前用户 需要相同的700权限,参考以下操作调整

sudo chmod 700 /root/.ssh

sudo chmod 700 /root

.ssh目录下的authorized_keys文件需要600或644权限,参考以下操作调整

sudo chmod 600 /root/.ssh/authorized_keys

2、StrictModes问题

编辑

sudo vi /etc/ssh/sshd_config

找到

#StrictModes yes (注:登陆用户目录/root 和 存放公钥目录/root/.ssh的权限要相同:如:chmod 700 /root 和 chmod 700 /root/.ssh)

改成

StrictModes no (注:登陆用户目录/root 和 存放公钥目录/root/.ssh的权限不需要相同:如:chmod 777 /root 和 chmod 700 /root/.ssh)

StrictModes解析:

StrictModes no #修改为no,默认为yes.如果不修改用key登陆是出现server refused our key(如果StrictModes为yes必需保证存放公钥的文件夹的拥有与登陆用户名是相同的.
“StrictModes”设置ssh在接收登录请求之前是否检查用户家目录和rhosts文件的权限和所有权。这通常是必要的,因为新手经常会把自己的目录和文件设成任何人都有写权限。 修改完/etc/ssh/sshd_config后需要重启ssh服务才能生效:service sshd restart 或者 service ssh restart

3.三台机器互相ssh免登陆密码登陆设置:master, slave1, slave2

1)首先分别在master,slave1,slave2上生成

  id_rsa.pub, id_rsa

2)设置免密码登陆master:

a)在master上执行:cp d_rsa.pub authorized_keys

  测试:在master上执行:ssh master  如免密码登陆,则成功!

b)在slave1上执行:scp d_rsa.pub master:/root/.ssh/d_rsa.pub_slave1

  然后在master上执行:cat d_rsa.pub_slave1 >> authorized_keys

  测试:在slave1上执行:ssh master  如免密码登陆,则成功!

c)在slave2上执行:scp d_rsa.pub master:/root/.ssh/d_rsa.pub_slave2

  然后在master上执行:cat d_rsa.pub_slave12>> authorized_keys

  测试:在slave2上执行:ssh master  如免密码登陆,则成功!

3)设置免密码登陆slave1:

a)在slave1上执行:cp d_rsa.pub authorized_keys

  测试:在slave1上执行:ssh slave1  如免密码登陆,则成功!

b)在master上执行:scp d_rsa.pub slave1:/root/.ssh/d_rsa.pub_master

  然后在slave1上执行:cat d_rsa.pub_master >> authorized_keys

  测试:在master上执行:ssh slave1  如免密码登陆,则成功!

c)在slave2上执行:scp d_rsa.pub slave1:/root/.ssh/d_rsa.pub_slave2

  然后在slave1上执行:cat d_rsa.pub_slave2 >> authorized_keys

  测试:在slave2上执行:ssh slave1  如免密码登陆,则成功!

4)设置免密码登陆slave2:

a)在slave2上执行:cp d_rsa.pub authorized_keys

  测试:在slave2上执行:ssh slave2  如免密码登陆,则成功!

b)在master上执行:scp d_rsa.pub slave2:/root/.ssh/d_rsa.pub_master

  然后在slave2上执行:cat d_rsa.pub_master >> authorized_keys

  测试:在master上执行:ssh slave2  如免密码登陆,则成功!

c)在slave1上执行:scp d_rsa.pub slave12/root/.ssh/d_rsa.pub_slave1

  然后在slave2上执行:cat d_rsa.pub_slave1 >> authorized_keys

  测试:在slave1上执行:ssh slave2  如免密码登陆,则成功!

5)如果测试都成功,则master,slave1,slave2相互之间就可以免密码登陆了,更多机器相互之间免密码登陆设置也如此设置!

ssh配置无密码登录的更多相关文章

  1. ssh 配置无密码登录

    下框中在管理机上运行: [root@master ~]# ssh-keygen -t rsa #它在/root/.ssh下生成id_rsa和id_rsa.pub两个文件 [root@master ~] ...

  2. 安装gitolite,并ssh公钥无密码登录

    安装gitolite,并ssh公钥无密码登录 gitolite是管理git版本库的一种方案,它将git版本库的管理信息放在了一个特殊git版本库里.gitolite与linux操作系统集成了,需要使用 ...

  3. linux ssh scp无密码登录

    一. 应用场景 假如你Linux Client是客户端, Server为服务器,用户名为user.现在要配置从Client到Server的无密码SSH登录或者无密码的scp拷贝. 例如客户端Clien ...

  4. ssh设置无密码登录

    设置无密码登录此处设为有主机a登录到主机b 1.在主机a生成公钥 ssh-keygen -t rsa  之后有导航(其实一直回车就可以) 2.此时在主机a/home/YOURHOSTNAME/.ssh ...

  5. 解决root用户ssh配置无密码登陆/hadoop用户照仿可以实现相同功能:hadoop用户登录并且把命令的所有root换成home/hadoop

    http://inuyasha1027.blog.51cto.com/4003695/1132896/ 主机ip:192.168.163.100(hostname: node0) ssh无密码登陆的远 ...

  6. CentOS SSH安全和配置无密码登录

    CentOS ssh默认监听端口 22端口,允许root用户ssh登录.server投入生产后很有必要更改默认ssh监听端口和禁止root登录. 步骤1:确认安装有ssh包 [appuser@su17 ...

  7. ssh 配置自动登录

    假定 机器A 连接至 机器B . 1. 在机器A上,生成RSA秘钥对 ssh-keygen -t rsa 期间passphrase不输入密码.默认生成文件至 ~/.ssh/ -rw------- we ...

  8. ssh的无密码登录

    实现步骤如下: 1 生成一对公钥和私钥 $ ssh-keygen #以上命令等价于 ssh-keygen -t rsa #-t:指定密钥的类型,默认为SSH-2 的rsa类型; 运行上面的命令后,系统 ...

  9. SSH实现无密码登录

    1.生成秘钥 : ssh-keygen -t rsa # -t 指定生成秘钥方式,生成秘钥过程需要三次回车 2.将生成的公钥传给 ssh 的对端 ssh-copy-id root@192.168.3. ...

随机推荐

  1. 大数据学习——hive基本操作

    1 建表 create table student(id int,name string ,age int) row format delimitedfields terminated by ','; ...

  2. [luoguP3258] [JLOI2014]松鼠的新家(lca + 树上差分)

    传送门 需要把一条路径上除了终点外的所有数都 + 1, 比如,给路径 s - t 上的权值 + 1,可以先求 x = lca(s,t) 类似数列上差分的思路,可以给 s 和 f[t] 的权值 + 1, ...

  3. jmesa应用

    一直以来,都没发现什么好的分页组件,最初时用过displaytag,仔细研究了一下,发现它并没有别人说的那么强大,至少离自己的期望还很远,因此尝试寻找其它新的分页组件,但很久以来都没发现自己满意的.无 ...

  4. SQL Prompt 5.1使用

    SQL Prompt 5.1教程 1.下载 自行下载安装文件.本人是从http://www.cr173.com/下载的. 2.安装 安装没什么特别的,不用说了 3.注意一下破解和配置 按里面的read ...

  5. 【ZJOI2017 Round1练习】D2T2 iqtest(排列组合)

    题意: 思路: 根据欧拉定理,a^(phi(n)-1)为a mod n的逆元 ..]of longint; s,ans,x,mo,k,phi,tmp:int64; i,m,n,j:longint; f ...

  6. Codeforces932D. Tree

    n<=400000个在线操作:树上插入一个某点权.父亲为某点的点:查询这样的最长点序列:序列的某个数必须是上一个数的祖先之一:序列的点权和不能超过x:序列的某个点的点权必须不小于上一个,且相邻两 ...

  7. Go --- 设计模式(工厂模式)

    简易工厂主要是用来解决对象“创建”的问题.以下的例子取自<大话设计模式>中第一章,实现一个可扩展的“计算器”.当增加新的功能时,并不需改动原来已经实现的算法.由于是简易工厂,所以我们还是需 ...

  8. C\C++中strcat()函数、sprintf函数

    http://blog.csdn.net/smf0504/article/details/52055971 http://c.biancheng.net/cpp/html/295.html

  9. 初始VueJS视频

    本视频简单的介绍的使用. 初始VueJS视频

  10. CSS浮动通俗讲解

    首先要知道,div是块级元素,在页面中独占一行,自上而下排列,也就是传说中的流.如下图: 可以看出,即使div1的宽度很小,页面中一行可以容下div1和div2,div2也不会排在div1后边,因为d ...