ssh 免密登录

时间:2023-03-09 18:15:22
ssh 免密登录

一,单机秘密登录

进入/etc/ssh 文件夹 编辑sshd_config 文件(sshd_config是ssh 服务端文件,ssh_config是客户端文件)

sudo vi sshd_config

将一下注释放开即可

RSAAuthentication yes  #私钥认证
PubkeyAuthentication yes  #公钥认证
AuthorizedKeysFile .ssh/authorized_keys  #认证的key存放的文件夹路径以及文件名称

重启sshd服务

sudo service sshd restart

进入 .ssh 文件夹 cd  /home/hadoop/.ssh

使用  ssh-keygen -t rsa 命令生成秘钥

一直回车出现图案就可以

+--[ RSA 2048]----+
| . |
| + . . |
| o o + + |
| . o = o |
| o + S . |
| o + . = |
| . * . . o |
| o o . . |
| ..E ... |
+-----------------+

将公钥  id_rsa.pub内容写入到 authorized_keys 就是sshd_config 配置的那个文件名

cat id_rsa.pub >> authorized_keys

修改文件权限 chmod 600 authorized_keys  (注:权限太高可能会秘密认证失败)

sudo service sshd restart  重启ssh服务

免密登录已完成 可以测试下ssh localhost 不用密码直接登录

二,集群免密登录

集群之间免密登录设置

1) 各集群节点生成rsa公钥私钥文件(<USERNAME>):直接输入以下命令,执行后会在ssh目录生成id_rsa、id_rsa.pub目录

cd .ssh(如果没有这个文件可以手动创建这个文件夹)

ssh-keygen -t rsa  (这个命令后输入三个回车)

2) 登录<IP1>服务器(<USERNAME>),将id_rsa.pub公钥内容拷贝到authorized_keys文件中

cat .ssh/id_rsa.pub >> .ssh/authorized_keys

3) 登录其它集群节点(<USERNAME>),将其它集群节点的公钥文件内容都拷贝到<IP1>主机上的authorized_keys文件中

ssh-copy-id -i <IP1>

4) 将authorized_keys拷贝到其他集群节点

scp .ssh/authorized_keys <USERNAME>@<HOSTNAME>:~/.ssh/

5) 检验免密登录是否配置成功(第一次ssh登录时需要输入密码,再次访问时即可免密码登录)

ssh <USERNAME>@<HOSTNAME>

各集群节点之间时间同步设置