在乌班图(Ubuntu)系统中怎么弄密匙登录的保姆级教程
阿里云服务器 | 腾讯云服务器 | VPS2EZ:老牌低调VPS | ZJI:香港日本美国独服 |
LOCVPS服务周到 | HostKvm低调KVM VPS | 傲游主机:优质VPS | 80VPS:老牌VPS主机 |
搬瓦工:CN2 GIA线路 | CloudCone:性价比高 | JustMySocks科学上网 | RackNerd:超级便宜 |
JustMySocks科学上网 | 好用的宝塔面板 | 购买搬瓦工VPS | 恒创:香港CN2服务器 |
在乌班图(Ubuntu)系统中设置密钥登录主要分为以下几个步骤:
1. 在客户端生成 SSH 密钥对
2. 将公钥添加到服务器的 `authorized_keys` 文件中
3. 测试密钥登录
4. (可选)禁用密码登录
**步骤 1:在客户端生成 SSH 密钥对**
打开终端,使用 `ssh-keygen` 命令生成 SSH 密钥对:
```bash
ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
```
按照提示操作,可以选择默认路径,也可以自定义密钥文件保存路径。设置完成后,你将在 `~/.ssh` 目录下看到两个文件:`id_rsa`(私钥)和 `id_rsa.pub`(公钥)。
**步骤 2:将公钥添加到服务器的 `authorized_keys` 文件中**
使用 `ssh-copy-id` 命令将公钥添加到服务器上:
```bash
ssh-copy-id -i ~/.ssh/id_rsa.pub your_username@your_server_ip
```
如果服务器上没有 `ssh-copy-id` 命令,可以通过以下方式手动将公钥添加到服务器:
首先,将公钥内容复制到剪贴板:
```bash
cat ~/.ssh/id_rsa.pub
```
然后,通过 SSH 登录到服务器:
```bash
ssh your_username@your_server_ip
```
在服务器上创建 `~/.ssh` 目录(如果不存在):
```bash
mkdir -p ~/.ssh
```
将公钥内容添加到 `authorized_keys` 文件中:
```bash
echo "PASTE_YOUR_PUBLIC_KEY_HERE" >> ~/.ssh/authorized_keys
```
并设置合适的权限:
```bash
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
```
**步骤 3:测试密钥登录**
退出当前 SSH 会话,然后尝试使用密钥登录:
```bash
ssh your_username@your_server_ip
```
如果一切正常,你将无需输入密码即可登录到服务器。
**步骤 4:(可选)禁用密码登录**
出于安全考虑,你可以禁用密码登录。请确保密钥登录正常工作后再执行此步骤。
编辑 SSH 配置文件:
```bash
sudo Nano /etc/ssh/sshd_config
```
找到 `PasswordAuthenticatiON` 选项,将其值设置为 `no`:
```ini
PasswordAuthentication no
```
保存并退出。然后重启 SSH 服务:
```bash
sudo systemctl restart ssh
```
现在,服务器将仅接受密钥登录。
完成以上步骤后,你应该已经成功设置了密钥登录。如果仍然遇到问题,请检查防火墙设置和 SSH 配置,确保它们没有阻止密钥登录。
评论专区