使用ssh-keygen生成私钥和公钥,用证书登录linux服务器

2022-04-04T02:15:49.png

使用ssh-keygen生成私钥和公钥

命令如下:

ssh-keygen -t rsa

例子:

fdipzone@ubuntu:~$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/fdipzone/.ssh/id_rsa): 这里输入要生成的文件名
Enter passphrase (empty for no passphrase):                       这里输入密码 
Enter same passphrase again:                                      这里重复输入密码
Your identification has been saved in /home/fdipzone/.ssh/id_rsa.
Your public key has been saved in /home/fdipzone/.ssh/id_rsa.pub.
The key fingerprint is:
f2:76:c3:6b:26:10:14:fc:43:e0:0c:4d:51:c9:a2:b0 fdipzone@ubuntu
The key's randomart image is:
+--[ RSA 2048]----+
|    .+=*..       |
|  .  += +        |
|   o oo+         |
|  E . . o        |
|      ..S.       |
|      .o .       |
|       .o +      |
|       ...oo     |
|         +.      |
+-----------------+


参数 -t rsa 表示使用rsa算法进行加密,执行后,会在/home/当前用户/.ssh目录下找到id_rsa(私钥)和id_rsa.pub(公钥)

fdipzone@ubuntu:~$ ls -lt ~/.ssh

总用量 12

-rw------- 1 fdipzone fdipzone 1679 2015-08-07 00:28 id_rsa
-rw-r--r-- 1 fdipzone fdipzone  397 2015-08-07 00:28 id_rsa.pub


也可以使用 dsa 加密算法进行加密,命令如下:

ssh-keygen -t dsa

然后进入到key目录

cd /root/.ssh
cat id_rsa.pub >> authorized_keys

查看文件权限:

chmod 700  /root/.ssh
chmod 600  authorized_keys

设定客户端连接使用的ssh私钥和公钥

vim /etc/ssh/ssh_config

找到

#   IdentityFile ~/.ssh/identity //使用证书时候的密码,可免
#   IdentityFile ~/.ssh/id_rsa
#   IdentityFile ~/.ssh/id_dsa

把前面#去掉,然后在 IdentityFile 后填写你用来执行ssh时所用的密钥

3.禁用密码登录

编辑ssh服务配置文件:vi /etc/ssh/sshd_config。

vi /etc/ssh/sshd_config

修改PasswordAuthentication属性:将yes修改为no,保存退出。
yes表示允许密码验证,no表示禁用密码验证功能。

最后:

service sshd restart 

好了,你的服务器只能通过证书登录。

Last modification:April 23rd, 2022 at 10:56 pm

Leave a Comment