ssh配置无密码登录
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 的权限(这个必须修改,要不然还是需要密码)
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配置无密码登录的更多相关文章
- ssh 配置无密码登录
下框中在管理机上运行: [root@master ~]# ssh-keygen -t rsa #它在/root/.ssh下生成id_rsa和id_rsa.pub两个文件 [root@master ~] ...
- 安装gitolite,并ssh公钥无密码登录
安装gitolite,并ssh公钥无密码登录 gitolite是管理git版本库的一种方案,它将git版本库的管理信息放在了一个特殊git版本库里.gitolite与linux操作系统集成了,需要使用 ...
- linux ssh scp无密码登录
一. 应用场景 假如你Linux Client是客户端, Server为服务器,用户名为user.现在要配置从Client到Server的无密码SSH登录或者无密码的scp拷贝. 例如客户端Clien ...
- ssh设置无密码登录
设置无密码登录此处设为有主机a登录到主机b 1.在主机a生成公钥 ssh-keygen -t rsa 之后有导航(其实一直回车就可以) 2.此时在主机a/home/YOURHOSTNAME/.ssh ...
- 解决root用户ssh配置无密码登陆/hadoop用户照仿可以实现相同功能:hadoop用户登录并且把命令的所有root换成home/hadoop
http://inuyasha1027.blog.51cto.com/4003695/1132896/ 主机ip:192.168.163.100(hostname: node0) ssh无密码登陆的远 ...
- CentOS SSH安全和配置无密码登录
CentOS ssh默认监听端口 22端口,允许root用户ssh登录.server投入生产后很有必要更改默认ssh监听端口和禁止root登录. 步骤1:确认安装有ssh包 [appuser@su17 ...
- ssh 配置自动登录
假定 机器A 连接至 机器B . 1. 在机器A上,生成RSA秘钥对 ssh-keygen -t rsa 期间passphrase不输入密码.默认生成文件至 ~/.ssh/ -rw------- we ...
- ssh的无密码登录
实现步骤如下: 1 生成一对公钥和私钥 $ ssh-keygen #以上命令等价于 ssh-keygen -t rsa #-t:指定密钥的类型,默认为SSH-2 的rsa类型; 运行上面的命令后,系统 ...
- SSH实现无密码登录
1.生成秘钥 : ssh-keygen -t rsa # -t 指定生成秘钥方式,生成秘钥过程需要三次回车 2.将生成的公钥传给 ssh 的对端 ssh-copy-id root@192.168.3. ...
随机推荐
- 腾讯云CVM使用记录--使用root权限
1.su root 指令 ,执行下列命令获取root权限: sudo /bin/su - root 注意:严禁执行password命令,root密码默认不能被修改.
- 弹飞绵羊(bzoj 2002)
Description 某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏.游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置 ...
- Easy sssp(vijos 1053)
描述 输入数据给出一个有N(2 <= N <= 1,000)个节点,M(M <= 100,000)条边的带权有向图. 要求你写一个程序, 判断这个有向图中是否存在负权回路. 如果从一 ...
- Android视图组成View
视图组成View 创建时间: 2013-9-13 10:51 更新时间: 2013-9-13 11:04
- HDU 1074 Doing Homework【状态压缩DP】
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1074 题意: 给定作业截止时间和完成作业所需时间,比截止时间晚一天扣一分,问如何安排作业的顺序使得最 ...
- hdu6196 happpy happy happy (meet in middle + 剪枝)
题意 从1到n共计n(<=90)个物品,每个物品有一个价值a[i],儿子和爸爸轮流做游戏,儿子先手.儿子每次选价值最大的{最左边,最右边}的物品,如果价值一样大, 则选取最左边的物品. 爸爸每次 ...
- Java的vector可实现自动增长的数组
Vector维克多提供了向量类(vector)以实现类似动态数组的功能. 首先,在Java中并没有指针这样的概念 ,但如果正确灵活地使用指针又确实可以大大提高程序的质量.比如在c,c++中所谓的“动态 ...
- 设置eclipse默认用户名
在使用Eclipse自动生成注释时,用户名总会被设置成Windows的登陆用户名.但大多数时候Windows用户名并不是我们写到注释里的用户名. 为了不想一个文件一个文件地修改,可以在最初时就设设置好 ...
- cmd的操作命令导出导入.dmp文件
利用cmd的操作命令导出,详情如下(备注:方法二是转载网上的教程): 1:G:\Oracle\product\10.1.0\Client_1\NETWORK\ADMIN目录下有个tnsname.ora ...
- Meteor计时器
Meteor有提供它自己的setTimeout和setInterval方法.这些方法被用于确保所有全局变量都具有正确的值.它们就像普通 JavaScript 中的setTimeout 和 setInt ...