SSH免密登陆


一、Hadoop多台集群设置

1.每台都要设置

mkdir ~/.ssh
chmod 700 ~/.ssh
vi /etc/ssh/sshd_config

内容:

RSAAuthentication yes # 启用 RSA 认证
PubkeyAuthentication yes # 启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径(和下面生成的文件同)

2.master上生产密钥

ssh-keygen -t rsa -P ''
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
service sshd restart
scp ~/.ssh/id_rsa.pub root@slave1.hadoop:~/.ssh
scp ~/.ssh/id_rsa.pub root@slave2.hadoop:~/.ssh

3.每台slave上执行

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
rm -r ~/.ssh/id_rsa.pub

4.master上测试

ssh slave1.hadoop
exit
ssh slave2.hadoop
exit

二、普通登陆单台服务器设置

B为服务端,A为终端准备登陆到B。

1. A主机上执行:

ssh-keygen -t  rsa

2. 复制文件

copy id_rsa.pub authorized_keys
chmod 700 /root/.ssh/id_rsa

3. 如果B上没有/root/.ssh,则执行

ssh-keygen -t rsa

4. 上传

scp authorized_keys root@A:/root/.ssh/

上面推送公钥都使用scp命令,也可以使用下面命令推送公钥:

ssh-copy-id -i ~/.ssh/id_rsa.pub root@目标机器

带端口号:

ssh-copy-id -i ~/.ssh/id_rsa.pub -p 端口号 root@ip地址