使用下面的命令生成公钥和私钥
ssh-keygen
出现下面几行
Generating public/private rsa key pair.
Enter file in which to save the key (/home/usera/.ssh/id_rsa): //可以把id换成自己的名字,这个名字就是登录服务器的账户名,不换就回车。
Created directory '/home/usera/.ssh'.
Enter passphrase (empty for no passphrase): //输入密码,不要密码就回车
Enter same passphrase again: //再输一遍密码
Your identification has been saved in /home/usera/.ssh/id_rsa.
Your public key has been saved in /home/usera/.ssh/id_rsa.pub.
The key fingerprint is:
39:f2:fc:70:ef:e9:bd:05:40:6e:64:b0:99:56:6e:01 usera@serverA
The key's randomart image is:
+--[ RSA 2048]----+
| Eo* |
| @ . |
| = * |
| o o . |
| . S . |
| + . . |
| + . .|
| + . o . |
| .o= o. |
+-----------------+
进入.ssh目录查看
cd .ssh
ls
有以下三个文件
id_rsa : 生成的私钥文件
id_rsa.pub : 生成的公钥文件
know_hosts : 已知的主机公钥清单
如果希望ssh公钥生效需满足至少下面两个条件:
1) .ssh目录的权限必须是700
2) .ssh/authorized_keys文件权限必须是600
将本地公钥添加到服务器中
scp -P 端口号 本地文件路径 用户名@远程服务器地址:远程路径
然后登陆服务器,找到复制进去的公钥,将公钥名字改为authorized_keys并添加到对应的.ssh文件夹中。然后退出SSH重新登陆试试,成功的话不需要输入密码就会直接进入远程服务器。