生成本机的公钥私钥:
[root@localhost ~]# ssh-keygen -t rsa -b 1024
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
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:IdG319e7Qd6ddzpb4mU9TEReynA/qmcAA8K5TNEcPaA root@localhost.localdomain
The key's randomart image is:
+---[RSA 1024]----+
| .o*=+ . ...|
| +o+oo. +oo.|
| oEo .+.. .o+o|
| o . .+ . +.+|
| S o .oo=|
| o o=|
| . o.+X|
| o.o.|
| oo |
+----[SHA256]-----+
[root@localhost ~]# ls .ssh
id_rsa id_rsa.pub
##将公钥推送到远端服务器上,第一次需要验证密码 ##**注意:**1、使用普通用户使用获得公钥私钥时,如果两边的用户不同,一定要带上用户,不能默认 “ssh-copy-id -i ~/.ssh/id_rsa.pub root@10.18.43.176” 2、若删除了known_hosts,则再次推送公钥时, ssh-copy-id 10.18.43.176 [root@localhost ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub 10.18.43.176
##若出现“wanted were added”说明添加成功了
##再次登录时,就不要密码了,则实现了免密登录
##修改配置文件,可以更改公钥认证或密码认证,阻止别人登录自己的主机 ##但要注意若更改了,则只能在自己的主机上再次更改回来 ##更改完成后要记得重启服务 [root@localhost ~]# vim /etc/ssh/sshd_config [root@localhost ~]# systemctl restart sshd
注释: **-b bits ** 指定密钥长度。对于RSA密钥,最小要求768位,默认是2048位。DSA密钥必须恰好是1024位(FIPS 186-2 标准的要求)。 -t type 指定要创建的密钥类型。可以使用:"rsa1"(SSH-1) "rsa"(SSH-2) "dsa"(SSH-2)
~/.ssh/id_dsa.pub 该用户默认的 DSA 身份认证公钥(SSH-2)。此文件无需保密。 此文件的内容应该添加到所有 DSA 目标主机的 ~/.ssh/authorized_keys 文件中。 ~/.ssh/id_rsa 该用户默认的 RSA 身份认证私钥(SSH-2)。此文件的权限应当至少限制为"600"。 生成密钥的时候可以指定采用密语来加密该私钥(3DES)。 ~/.ssh/known_hosts 记录着你每个你访问过计算机的公钥(public key)