Ubuntu 远程 SSH 连接配置与 VS Code 使用
1. 服务器端配置
1.1 设置 Root 密码
执行以下命令设置 root 用户密码:
sudo passwd root
1.2 安装 OpenSSH Server
- 更新软件源:打开终端,执行以下命令更新软件包列表。
sudo apt update - 安装服务:执行以下命令安装 SSH 服务。
安装完成后,可通过sudo apt install openssh-serverssh -V或ssh -v查看版本以确认安装成功。 - 启动并设置 SSH 服务:
- 启动 SSH 服务:
sudo systemctl start ssh - 设置开机自启:
sudo systemctl enable ssh - 重启服务:
systemctl restart ssh
- 启动 SSH 服务:
- 配置允许 Root 登录:
编辑配置文件:
vim /etc/ssh/sshd_config找到并修改(或添加)以下行:
注:若使用密钥登录,建议设为PermitRootLogin yeswithout-password以提高安全性。 - 检查状态:
sudo systemctl status ssh
1.3 配置防火墙
如果连接失败,可尝试暂时关闭防火墙或确保 22 端口开放:
sudo ufw disable
1.4 获取 IP 地址
使用以下命令查看 Ubuntu 的 IP 地址(通常为 192.168 开头或公网 IP):
ifconfig
记录该 IP 地址,连接时需使用。
2. VS Code 客户端配置
2.1 安装插件
- 打开 VS Code,点击左侧活动栏的'扩展'图标(或按
Ctrl+Shift+X)。 - 在搜索框输入
Remote - SSH,选择由 Microsoft 发布的插件并点击'Install'安装。 - 检查本地 SSH 客户端:
- Windows 10 及以上系统通常自带 OpenSSH Client。若需验证,可打开 CMD 输入
ssh。 - 若无,可通过'设置 -> 应用 -> 管理可选功能 -> 添加功能'进行安装。
- Windows 10 及以上系统通常自带 OpenSSH Client。若需验证,可打开 CMD 输入
3. 建立远程连接
- 打开远程连接窗口:在 VS Code 左侧活动栏点击'远程资源管理器'图标。
- 添加新的 SSH 主机:
- 点击'Connect to Host...'或'+'号(Add New SSH Host)。
- 在弹出的输入框中输入连接命令,格式为:
ssh 用户名@Ubuntu 的 IP 地址。- 例如:
ssh [email protected]或ssh [email protected] -A。
- 例如:
- 配置 SSH 配置文件:
- 系统会提示选择配置文件位置,通常选择第一个默认路径(如
C:\Users\用户名\.ssh\config)。 - VS Code 会自动打开配置文件,保存并关闭该文件。
- 系统会提示选择配置文件位置,通常选择第一个默认路径(如
- 发起连接:
- 在'SSH Targets'列表中,点击刚才添加的主机右侧的连接图标,或右键选择'Connect to Host in Current Window'。
- 首次连接时,会弹出提示询问是否继续连接(Host authenticity),点击'Continue'。
- 输入密码:
- 在终端提示处输入 Ubuntu 系统对应用户的登录密码。
- 连接成功后,VS Code 左下角会显示
SSH: 用户名@主机名,即可打开远程文件夹进行开发。
4. 配置免密登录(可选)
为了提高安全性并避免每次输入密码,可配置 SSH 公钥认证。
- 生成 SSH 密钥对:
在本地 Windows 打开 CMD 或 PowerShell,执行:
按提示操作,通常直接回车使用默认路径和空密码。ssh-keygen -t rsa -b 4096 -C "[email protected]" - 复制公钥到服务器:
- 方法一(使用 ssh-copy-id):在本地终端执行:
ssh-copy-id 用户名@Ubuntu 的 IP 地址 - 方法二(手动复制):
- 将本地公钥文件(通常位于
C:\Users\用户名\.ssh\id_rsa.pub)内容复制。 - 登录到 Ubuntu 服务器,执行以下命令:
mkdir -p ~/.ssh chmod 700 ~/.ssh echo "公钥内容" >> ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys
- 将本地公钥文件(通常位于
- 方法一(使用 ssh-copy-id):在本地终端执行:
- 测试连接:
使用
-v参数测试连接是否生效:ssh -v 用户名@IP 地址

