前言

为了方便调试和开发,我需要用我的Mac笔记本远程调用Ubuntu20主机,来跑Ubuntu上的程序.
采取的方案使用过VSCode的SSH远程连接来调用Ubuntu的环境.

环境

一台Mac笔记本,一台Ubuntu20主机.

配置

一、台式机(Ubuntu)基础配置​​

  1. 启用SSH服务(若未安装)

    1
    2
    3
    4
    5
    6
    7
    sudo apt update
    sudo apt install openssh-server -y
    sudo systemctl enable --now ssh
    sudo ufw allow 22 # 如果启用了防火墙
    sudo ufw disable # 关闭防火墙
    #sudo ufw status # 查看防火墙状态
    #sudo ufw enable # 开启防火墙
  2. 检查SSH服务状态

    1
    sudo systemctl status ssh

    应看到"Active: active (running)"

  3. 获取本机IP(用于后续连接)

    1
    ip a | grep "inet " | grep -v "127.0.0.1"

    输出示例:192.168.1.100
    或者使用ifconfig命令查看.

​​二、Mac端SSH密钥配置​​

  1. 生成密钥对(在Mac终端执行)

    1
    ssh-keygen -t ed25519 -C "mac_to_ubuntu"

    按回车接受默认存储路径:/Users/你的用户名/.ssh/id_ed25519
    建议设置密码短语(可选但更安全)

  2. 查看公钥内容(复制后面要用)

    1
    cat ~/.ssh/id_ed25519.pub

    输出示例:ssh-ed25519 AAAAC3Nz... mac_to_ubuntu

  3. 将公钥上传到台式机

    1
    ssh-copy-id -i ~/.ssh/id_ed25519.pub 你的ubuntu用户名@台式机IP

    示例:ssh-copy-id -i ~/.ssh/id_ed25519.pub user@192.168.1.100
    首次需要输入Ubuntu密码
    ssh-copy-id -i ~/.ssh/id_ed25519 dong@192.168.3.27

  4. 测试免密登录

    1
    ssh -i ~/.ssh/id_ed25519 你的ubuntu用户名@台式机IP

    ssh -i ~/.ssh/id_ed25519 dong@192.168.3.27
    成功应直接进入Ubuntu终端.
    退出终端使用exit命令.

三、VSCode配置

  1. 安装必要扩展
    在VS Code扩展市场搜索安装:
    Remote - SSH
    Python(Microsoft官方扩展)
  2. 创建SSH配置文件
    在Mac的~/.ssh/config中添加(没有则新建):
    1
    2
    3
    4
    5
    Host Ubuntu-Desktop
    HostName 192.168.3.27
    User dong
    IdentityFile ~/.ssh/id_ed25519
    IdentitiesOnly yes
    3.点击左下角Remote-SSH: Connect to Host
    4.选择Ubuntu-Desktop
    即可开始快乐的远程调用了!