ssh 免密登录

认证的时候会在~/.ssh目录下寻找 id_rsa的公钥信息。

[root@hadoop1 .ssh]# ssh -v localhost
...
debug1: Next authentication method: publickey
debug1: Trying private key: /root/.ssh/identity
debug1: Trying private key: /root/.ssh/id_rsa
debug1: Trying private key: /root/.ssh/id_dsa
debug1: Trying private key: /root/.ssh/id_ecdsa
debug1: Next authentication method: password
root@localhost's password: 

生成公私钥对信息。注意不用输入任何信息,直接回车

[root@hadoop1 .ssh]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
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:
1a:3a:24:d0:c1:6d:93:a1:9c:23:54:31:49:a2:c9:25 root@hadoop1

将公钥  id_rsa.pub内容写入到 authorized_keys 就是/etc/ssh/sshd_config 配置的默具指定的文件名 

cat id_rsa.pub >> authorized_keys

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

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

将一下注释放开

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

重启ssh服务

sudo service sshd restart  

验证成功

[root@hadoop1 .ssh]# ssh localhost
Last login: Sat Sep  7 07:04:24 2019 from localhost
Connection to localhost closed.

 

 

上一篇:函数式编程中的副作用概念


下一篇:Java求阶乘和