使用 ssh 远程登录 Linux 时,使用公钥认证的方式比采用密码的方式更安全、更方便。本文简单的介绍如何在 Ubuntu 18.04 Server 中设置如何公钥认证方式登录。
本文假设的环境, 服务器OS: Ubuntu 18.04 Server, 其IP地址为: 192.168.31.60, 服务器已经配置了一个名为 stu 的用户,并通过一台安装 Ubuntu 18.04 的客户机来准备环境
在客户机上生成密钥对
在客户机上打开一个终端窗口,进入当前用户的用户目录。首先准备一个 .ssh 目录用来存放后面要生成的 key 的信息。顺序执行以下命令:
1 | mkdir -p $HOME/.ssh |
准备好目录以后,执行以下命令生成 key:
1 | ssh-keygen -t rsa -b 4096 -C "master-srv-01" |
程序会提示一些问题,全面选择默认设置(回车即可)。 完成以后,系统显示:
1 | Your identification has been saved in /home/stu/.ssh/id_rsa. |
生成以后,可以查看 .ssh 目录,可以看到生成了相关的文件,执行:
1 | ls -la .ssh |
系统显示:
1 | -rw------- 1 stu stu 3243 Feb 13 00:36 id_rsa |
把public key 安装到服务器上
这里,我们是使用 ssh-copy-id 命令来完成把 public key 安装道服务器上。执行
1 | ssh-copy-id -i $HOME/.ssh/id_rsa.pub stu@192.168.31.60 |
系统显示:
1 | /usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/stu/.ssh/id_rsa.pub" |
说明安装成功。
测试登录
在客户机上执行:
1 | sh stu@192.168.31.60 |
如果前面的步骤都正常,应该可以登录到服务器上了,系统显示类似以下的信息:
1 | Welcome to Ubuntu 18.04.3 LTS (GNU/Linux 4.15.0-76-generic x86_64) |