使用模板2

Linux 设置 SSH 教程

本文提供了在 Ubuntu 24.04 上设置 SSH 服务并使用本地公钥进行连接的完整步骤。


1. 安装并运行 SSH 服务

如果尚未安装 SSH 服务,请执行以下命令安装 OpenSSH Server:

1
2
sudo apt update
sudo apt install -y openssh-server

确保 SSH 服务正在运行:

1
2
sudo systemctl start ssh
sudo systemctl enable ssh

检查 SSH 服务状态:

1
sudo systemctl status ssh

2. 生成本地 SSH 密钥对(如果尚未生成)

在本地设备(客户端)生成 SSH 密钥对:

1
ssh-keygen -t rsa -b 4096

运行上述命令后,会提示保存文件路径:

  • 默认路径是 ~/.ssh/id_rsa(私钥)和 ~/.ssh/id_rsa.pub(公钥)。
  • 如果已有密钥对,系统会提示是否覆盖。选择“否”以避免覆盖现有密钥。

3. 将公钥上传到服务器

使用 ssh-copy-id 工具将本地公钥添加到服务器的 ~/.ssh/authorized_keys 文件中。

在本地执行以下命令,将公钥传输到服务器:

1
ssh-copy-id username@server_ip
  • 替换 username 为服务器上的用户名。
  • 替换 server_ip 为服务器的 IP 地址。

如果 ssh-copy-id 不可用,也可以手动上传公钥:

  1. 打开公钥文件:
    1
    cat ~/.ssh/id_rsa.pub
  2. 将输出的内容复制到服务器上的 ~/.ssh/authorized_keys 文件中:
    1
    echo "公钥内容" >> ~/.ssh/authorized_keys
  3. 设置正确的权限:
    1
    2
    chmod 700 ~/.ssh
    chmod 600 ~/.ssh/authorized_keys

4. 测试公钥登录

在本地设备上测试通过公钥登录:

1
ssh username@server_ip

如果使用了非默认端口(例如 2222),可以这样连接:

1
ssh -p 2222 username@server_ip

5. (可选)禁用密码登录

为了提高安全性,可以禁用 SSH 密码登录,只允许使用公钥登录。

编辑 SSH 配置文件:

1
sudo nano /etc/ssh/sshd_config

找到以下行并修改:

1
PasswordAuthentication no

保存文件后,重启 SSH 服务:

1
sudo systemctl restart ssh

6. 配置防火墙(如果需要)

如果防火墙已启用(如 ufw),需要确保 SSH 端口已开放:

1
2
3
sudo ufw allow ssh
sudo ufw enable
sudo ufw status

如果使用自定义端口,例如 2222:

1
sudo ufw allow 2222/tcp