如何使用 SSH 密钥登录
1. 检查是否已有 SSH 密钥
在你的(注意,不是在服务器上找,而是在自己的电脑上)HOME 目录下寻找 .ssh 目录,如果其中包含除了 known_hosts、config 和 authorized_keys 之外的一对名为 <名称> 和 <名称>.pub 的文件,例如 id_rsa 和 id_rsa.pub,则说明已有 SSH 密钥,可跳过下一步。
2. 生成 SSH 密钥对
在本地终端中执行以下命令:
$ ssh-keygen
程序会交互式地要求输入文件名、密码等信息,直接按回车键即可使用默认值。可能的输出如下:
[root@host ~]$ ssh-keygen <== 建立密钥对
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): <== 按 Enter
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): <== 输入密钥锁码,或直接按 Enter 留空
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:
0f:d3:e7:1a:1c:bd:5c:03:f1:19:f1:22:df:9b:cc:08 root@host
3. 将公钥上传到服务器
直接打开公钥文件(即以 .pub 结尾的文件)并复制其中的内容,内容一般形为:
ssh-rsa AAAAB3NzaC1yc2EA... myname@mypc
然后在服务器上执行以下命令:
$ echo "<刚刚复制的公钥内容>" >> ~/.ssh/authorized_keys
为了确保连接成功,请在服务器上保证以下文件权限正确:
$ chmod 600 ~/.ssh/authorized_keys
$ chmod 700 ~/.ssh
4. 结束
完成,你现在可以尝试在本地使用 SSH 密钥登录服务器了:
$ ssh <用户名>@<服务器地址>