每次进行文件传输都需要进行密码验证,这对我们来说,有些一丁点不舒服,可以设置免密认证
1:生成密钥对:
过程中只按回车
ssh-keygen -t rsa
在目录:/root/.ssh/下有两个文件
私钥 id_rsa
公钥 id_rsa.pub
root@iZ2zej6nr4vfmdn28c7yltZ:~# 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:
SHA256:pn2YdKAlG7OCAYUMHo8gKcAZ6RY2yAyTWi5CPcribds root@iZ2zej6nr4vfmdn28c7yltZ
The key's randomart image is:
+---[RSA 2048]----+
|^B* |
|X#=o |
|B==.. + o |
|==.o O . |
|=.o . + S . |
| . o . = + |
| . o . + . |
| . E . |
| |
+----[SHA256]-----+
2.对端使用公钥认证文件
在用户目录下创建.ssh文件
cd
mkdir .ssh
在.ssh里创建authorized_keys
vim authorized_keys
把第一步产生的公钥复制到这里
删除注释
AuthorizedKeysFile %h/.ssh/authorized_keys
重启
/etc/init.d/ssh restart
最后 验证 ssh链接看看不用输入密码
注意问题:ssh链接的前提是能够ping同,也就是私网可以ssh公网,公网不能够ssh私网,而生成密钥对的服务器在私网,配置ssh登陆的是公网的服务器,也就是说,只能私网服务器ssh公网服务器,输入ssh的一端是生成密钥对的一段,被链接的一端是配置公钥的一段。