一、介绍
使用密码登录,每次都必须输入密码。SSH还提供了公钥登录,可以省去输入密码的步骤。
所谓"公钥登录",原理很简单,就是用户将自己的公钥(id_rsa.pub)储存在远程主机上。登录的时候,远程主机会向用户发送一段用用户机器公钥加密的随机字符串,用户机器收到加密的字符串后,用自己的私钥解密后,再发回来。远程主机用事先储存的公钥进行解密,如果成功,就证明用户是可信的,直接允许登录shell,不再要求密码。
二、操作
有3台虚拟机:
192.168.160.133 (主)
192.168.160.134
192.168.160.135
用root用户登陆
运行命令:ssh-keygen -t rsa,一直按回车直到结束;生成密码对;
# ssh-keygen -t rsa
Generating public/private rsa key pair.
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:
SHA256:jIopkBBA434g38blsMlwm6eptMwdJgVHlDgiwxmKi/k...
The key's randomart image is:
进入生成的 ~/.ssh 目录;可以看到有2个文件;
把公钥追加到 authorized_keys 文件
进行一次登录
然后退出再远程拷贝秘钥
ssh root@对方主机IP地址
,这时,如果不用输入密码,则表示成功了。