前提。机器A,B,均为RedHat Linux操作系统,均实用户user

1、以usernameuser登录,在A机器上运行

ssh-keygen -t rsa

一路回车。不须要输入password

运行该操作将在/home/user/.ssh下生成id_rsa, id_rsa.pub文件,当中id_rsa.pub是公钥。

2、在B机器上做步骤1或自行创建/home/user/.ssh目录。注意目录权限设置为700,将id_rsa.pub复制到B机器上

scp id_rsa.pub B:~/.ssh/A.id_rsa.pub

3、将复制到B机器上的A.id_rsa.pub复制到authorized_keys文件里

cp  A.id_rsa.pub authorized_keys

cat A.id_rsa.pub > authorized_keys

若有多个主机要訪问,使用>>加入到authorized_keys文件里


最精彩部分:

A将公钥发给B。不是说让B来訪问A。而是A就能够訪问B了。

太霸道了!也就是说B不能在.ssh目录下的authorized_keys保留A的公钥。如保存就是把自己让给别人来訪问!

假设这个理解反了,那就会总是不成功!


參考:

hadoop安装配置之ssh无password登陆
收藏  我要投稿
hadoop安装配置之ssh无password登陆
 
os:redhat 6
 
hadoop 两个节点。一个master 一个slave
 
192.168.0.1  master
 
192.168.0.2. slave
 
1.改动每台机器的/etc/hosts,添加
 
192.168.0.1  master
 
192.168.0.2. slave
 
2.在每台机器上创建用户hadoop
 
useradd hadoop
 
passwd hadoop
 
给hadoop用户加入权限,打开/etc/sudoers文件:
 
在root ALL=(ALL)       ALL         
后面加入hadoop ALL=(ALL)       ALL     
 
后面都以hadoop用户来操作
 
3.在全部机器的/home/hadoop/文件夹下建立 .ssh文件夹
 
mkdir /home/hadoop
 
4.在master机器上生成密钥对
 
ssh-keygen -t rsa (注意:ssh与-keygen之间没有空格)    
一路回车就可以。
 
转到.ssh文件夹 cd ~/.ssh 能够看到生成了id_rsa,和id_rsa.pub两个文件
 
5.运行 cp id_rsa.pub authorized_keys
 
6.把Master上面的authorized_keys文件拷贝到Slave机器的/home/hadoop/.ssh/文件以下
 
scp authorized_keys slave:~/.ssh
 
7.改动改动.ssh文件夹的权限以及authorized_keys 的权限(这个必须改动,要不然还是须要password)
 
sudo chmod 644 ~/.ssh/authorized_keys
 
sudo chmod 700 ~/.ssh
 
正常情况下,到这个地方就能够SSH无password登录了
 
输入ssh slave 进行測试。

posted on 2017-07-18 18:24  yutingliuyl  阅读(666)  评论(0编辑  收藏  举报