【小白向】Ubuntu|VMware 新建虛擬機后打開 SSH 服務、在主機上安裝vscode并連接、配置 git 的 ssh

常常有人問VMware-Tools裝了也復制粘貼不了怎么辦,這個東西影響因素太多了,具體解決辦法你們可以參考一下:【經驗】VMware|虛擬機只能使用鼠標無法使用鍵盤、裝不了或裝了VMware-Tools無法復制粘貼的可能解決辦法_增強型鍵盤驅動程序-CSDN博客。

但我最終總是建議直接用SSH連接虛擬機。不過之前一直都沒有出教程,現在出一個簡單的教程。

文章目錄

  • 在 Ubuntu 虛擬機(VMware)中開啟 SSH 服務、配置 VSCode 遠程連接與 Git SSH 設置
    • 一、新建 VMware 虛擬機并安裝 Ubuntu
    • 二、在 Ubuntu 虛擬機中開啟 SSH 服務
      • 步驟 1:安裝 OpenSSH 服務器
      • 步驟 2:檢查 SSH 狀態
      • 步驟 3:配置防火墻(如已啟用 UFW)
    • 三、在主機上安裝 VSCode 并連接虛擬機
      • 步驟 1:下載并安裝 VSCode
      • 步驟 2:安裝 Remote - SSH 插件
      • 步驟 3:連接虛擬機
    • 四、配置 Git 的 SSH 認證
      • 步驟 1:生成 SSH 密鑰對
      • 步驟 2:將公鑰添加到 Git 平臺
      • 步驟 3:配置 Git 用戶信息
      • 步驟 4:測試 SSH 連接
    • 五、常見問題與解決方案
    • 六、總結

在 Ubuntu 虛擬機(VMware)中開啟 SSH 服務、配置 VSCode 遠程連接與 Git SSH 設置

在虛擬化環境中進行開發時,通過 SSH 連接遠程服務器可以提升代碼管理和協作效率。本文將指導您如何在 VMware 的 Ubuntu 虛擬機中啟用 SSH 服務,并通過 VSCode 實現遠程開發,最后完成 Git 的 SSH 配置。


一、新建 VMware 虛擬機并安裝 Ubuntu

這一步的具體過程可直接看視頻:ROS|Ubuntu20.04安裝ROS Noetic全過程(從VMware虛擬機安裝開始)_嗶哩嗶哩_bilibili

  1. 創建虛擬機

    • 打開 VMware Workstation 或 Fusion
    • 點擊 Create a New Virtual Machine → 選擇 Linux 發行版(Ubuntu)→ 指定鏡像文件路徑。
    • 配置 CPU、內存及硬盤容量,建議至少分配:
      • 內存:2GB+
      • 硬盤:30GB SSD
  2. 安裝 Ubuntu

    • 啟動虛擬機后選擇 Install Ubuntu → 按照提示完成語言、鍵盤布局設置。
    • 選擇 Erase disk and install(格式化并全新安裝)→ 設置用戶名和密碼。

二、在 Ubuntu 虛擬機中開啟 SSH 服務

步驟 1:安裝 OpenSSH 服務器

sudo apt update && sudo apt install openssh-server -y

步驟 2:檢查 SSH 狀態

systemctl status ssh
# 若未運行,執行啟動命令:
sudo systemctl start ssh
sudo systemctl enable ssh    # 設置開機自啟

步驟 3:配置防火墻(如已啟用 UFW)

默認不用管,因為通常都沒啟用防火墻,但也可以檢查一下。

允許 SSH 端口(默認22):

sudo ufw allow 22/tcp
sudo ufw status   # 查看規則是否生效

三、在主機上安裝 VSCode 并連接虛擬機

步驟 1:下載并安裝 VSCode

  • 訪問 VSCode 官網 下載對應系統的安裝包。
  • Windows 用戶可通過微軟商店安裝。

步驟 2:安裝 Remote - SSH 插件

  1. 打開 VSCode → 進入擴展市場,搜索 Remote - SSH 并安裝。
  2. 安裝完成后,點擊左下角的遠程探索圖標(電腦+箭頭符號)。

步驟 3:連接虛擬機

  1. 在命令行輸入:

    ssh 用戶名@虛擬機IP地址
    # 示例:
    ssh ubuntu@192.168.1.100
    
    • 若提示首次連接,選擇 Yes 添加主機密鑰。
    • 輸入之前設置的 Ubuntu 密碼。
  2. 成功后,VSCode 將切換到遠程環境界面。您可以在虛擬機上直接開發代碼,并保存在本地磁盤路徑中。


四、配置 Git 的 SSH 認證

步驟 1:生成 SSH 密鑰對

在 Ubuntu 虛擬機中運行:

ssh-keygen -t ed25519 -C "your_email@example.com"
# 按回車接受默認路徑(~/.ssh/id_ed25519)和空密碼。

步驟 2:將公鑰添加到 Git 平臺

  1. 復制公鑰內容:
    cat ~/.ssh/id_ed25519.pub
    
  2. 登錄 GitHub/GitLab 等平臺,進入 SSH Keys 頁面粘貼公鑰,并保存。

步驟 3:配置 Git 用戶信息

git config --global user.name "Your Name"
git config --global user.email "your_email@example.com"

步驟 4:測試 SSH 連接

嘗試連接 Git 平臺:

ssh -T git@github.com    # 測試 GitHub 是否認證成功
# 成功提示:"Hi username! You've successfully authenticated..."

五、常見問題與解決方案

  1. SSH 連接超時

    • 檢查 VMware 網絡模式:確保虛擬機使用橋接網絡(Bridged Mode)或主機僅能訪問的 NAT。

    • 獲取虛擬機 IP:

      ip a | grep inet    # 查看本機IP地址
      
    • 主機防火墻是否阻止了22端口。

    • 更多詳情參考:【經驗】VScode 遠程 SSH 連接 Ubuntu 或 TrueNas 出錯,Could not establish connection-CSDN博客

  2. VSCode 連接失敗

    • 確認 SSH 服務已啟動,且虛擬機的 sshd_config 文件中未禁用密碼登錄(PasswordAuthentication yes)。

    • 更多詳情參考:【經驗】VScode 遠程 SSH 連接 Ubuntu 或 TrueNas 出錯,Could not establish connection-CSDN博客

  3. Git SSH 認證失敗

    • 檢查 SSH 密鑰路徑是否正確:
      eval $(ssh-agent)
      ssh-add ~/.ssh/id_ed25519
      
    • 確認 Git 平臺的公鑰與本地密鑰對匹配。
    • 更多詳情參考:【經驗】Git|Windows下如何管理和部署多個Git賬號的SSH密鑰文件_windows identityfile git rsa-CSDN博客

六、總結

通過本文,您已掌握以下技能:

  • 在 Ubuntu 虛擬機中部署 SSH 服務并配置防火墻。
  • 利用 VSCode 的 Remote-SSH 插件實現無縫遠程開發。
  • 配置 Git 的 SSH 認證以安全地管理代碼倉庫。

此方案適用于本地開發環境搭建、測試或輕量級項目協作,可顯著提升跨平臺開發效率。


提示: 為確保安全性,請定期更新系統補丁,并限制非必要端口的開放。對于生產環境,建議使用更復雜的防火墻規則和密鑰認證(而非密碼登錄)。

本賬號所有文章均為原創,歡迎轉載,請注明文章出處:https://shandianchengzi.blog.csdn.net/article/details/130776742。百度和各類采集站皆不可信,搜索請謹慎鑒別。技術類文章一般都有時效性,本人習慣不定期對自己的博文進行修正和更新,因此請訪問出處以查看本文的最新版本。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/73270.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/73270.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/73270.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

mingw工具源碼編譯

ming-w64 mingw編譯生成的庫,需要mingw的lib文件支持。 https://github.com/mingw-w64/mingw-w64 使用msys2的bash git checkout v8.0.3 ./configure --disable-dependency-tracking --targetx86_64-w64-mingw32 mingw32-make.exe -j4 修改makefile中的make 改成mi…

LSTM方法實踐——基于LSTM的汽車銷量時序建模與預測分析

Hi,大家好,我是半畝花海。本實驗基于汽車銷量時序數據,使用LSTM網絡(長短期記憶網絡)構建時間序列預測模型。通過數據預處理、模型訓練與評估等完整流程,驗證LSTM在短期時序預測中的有效性。 目錄 一、實驗…

Stable Diffusion教程|快速入門SD繪畫原理與安裝

什么是Stable Diffusion,什么是煉丹師?根據市場研究機構預測,到2025年全球AI繪畫市場規模將達到100億美元,其中Stable Diffusion(簡稱SD)作為一種先進的圖像生成技術之一,市場份額也在不斷增長&…

Webpack構建流程詳解優化前端性能\Dev-Server與Proxy\網絡攻擊\HMR

簡版 核心流程圖 根據,Webpack的構建流程分為初始化、編譯和輸出三個階段。初始化階段讀取配置、加載插件、實例化Compiler。編譯階段(構建依賴關系)涉及Compiler類的運行,生成Compilation對象,處理模塊依賴。輸出階…

《Transformer如何進行圖像分類:從新手到入門》

引言 如果你對人工智能(AI)或深度學習(Deep Learning)感興趣,可能聽說過“Transformer”這個詞。它最初在自然語言處理(NLP)領域大放異彩,比如在翻譯、聊天機器人和文本生成中表現出…

Java --- 根據身份證號計算年齡

介紹 根據身份證號計算年齡 Java代碼 /*** 根據身份證號計算年齡* param birthDateStr* return*/public static int calculateAge(String birthDateStr) {try {birthDateStrbirthDateStr.substring(6,68);// 定義日期格式SimpleDateFormat sdf new SimpleDateFormat("…

零成本搭建Calibre個人數字圖書館支持EPUB MOBI格式遠程直讀

文章目錄 前言1.網絡書庫軟件下載安裝2.網絡書庫服務器設置3.內網穿透工具設置4.公網使用kindle訪問內網私人書庫 前言 嘿,各位書蟲們!今天要給大家安利一個超級炫酷的技能——如何在本地Windows電腦上搭建自己的私人云端書庫。亞馬遜服務停了&#xff…

【Linux 指北】常用 Linux 指令匯總

第一章、常用基本指令 # 注意: # #表示管理員 # $表示普通用戶 [rootlocalhost Practice]# 說明此處表示管理員01. ls 指令 語法: ls [選項][目錄或文件] 功能:對于目錄,該命令列出該目錄下的所有子目錄與文件。對于文件&#xf…

跟蹤napi_gro_receive_entry時IP頭信息缺失的分析

問題描述 在使用eBPF程序跟蹤napi_gro_receive_entry內核跟蹤點時,發現獲取到的IP頭部字段(如saddr、daddr、protocol)為空值。 代碼如下: /* 自定義結構體來映射 napi_gro_receive_entry tracepoint 的 format */ struct napi…

Android子線程更新View的方法原理

對于所有的Android開發者來說,“View的更新必須在UI線程中進行”是一項最基本常識。 如果不在UI線程中更新View,系統會拋出CalledFromWrongThreadException異常。那么有沒有什么辦法可以不在UI線程中更新View?答案當然是有的! 一…

【Manus資料合集】激活碼內測渠道+《Manus Al:Agent應用的ChatGPT時刻》(附資源)

DeepSeek 之后,又一個AI沸騰,沖擊的不僅僅是通用大模型。 ——全球首款通用AI Agent的破圈啟示錄 2025年3月6日凌晨,全球AI圈被一款名為Manus的產品徹底點燃。由Monica團隊(隸屬中國夜鶯科技)推出的“全球首款通用AI…

Python----計算機視覺處理(opencv:像素,RGB顏色,圖像的存儲,opencv安裝,代碼展示)

一、計算機眼中的圖像 像素 像素是圖像的基本單元,每個像素存儲著圖像的顏色、亮度和其他特征。一系列像素組合到一起就形成 了完整的圖像,在計算機中,圖像以像素的形式存在并采用二進制格式進行存儲。根據圖像的顏色不 同,每個像…

SQLiteStudio:一款免費跨平臺的SQLite管理工具

SQLiteStudio 是一款專門用于管理和操作 SQLite 數據庫的免費工具。它提供直觀的圖形化界面,簡化了數據庫的創建、編輯、查詢和維護,適合數據庫開發者和數據分析師使用。 功能特性 SQLiteStudio 提供的主要功能包括: 免費開源,可…

【軟考網工-實踐篇】DHCP 動態主機配置協議

一、DHCP簡介 DHCP,Dynamic Host Configuration Protocol,動態主機配置協議。 位置:DHCP常見運行于路由器上,作為DHCP服務器功能:用于自動分配IP地址及其他網絡參數給網絡中的設備作用:簡化網絡管理&…

【Linux學習筆記】Linux用戶和文件權限的深度剖析

【Linux學習筆記】Linux用戶和文件權限的深度剖析 🔥個人主頁:大白的編程日記 🔥專欄:Linux學習筆記 前言 文章目錄 【Linux學習筆記】Linux用戶和文件權限的深度剖析前言一. Linux權限管理1.1 文件訪問者的分類(人)…

Centos離線安裝openssl-devel

文章目錄 Centos離線安裝openssl-devel1. openssl-devel是什么?2. openssl-devel下載地址3. openssl-devel安裝4. 安裝結果驗證 Centos離線安裝openssl-devel 1. openssl-devel是什么? openssl-devel 是 Linux 系統中與 OpenSSL 加密庫相關的開發包&…

深度學習篇---Opencv中Haar級聯分類器的自定義

文章目錄 1. 準備工作1.1安裝 OpenCV1.2準備數據集1.2.1正樣本1.2.2負樣本 2. 數據準備2.1 正樣本的準備2.1.1步驟2.1.2生成正樣本描述文件2.1.3示例命令2.1.4正樣本描述文件格式 2.2 負樣本的準備2.2.1步驟2.2.2負樣本描述文件格式 3. 訓練分類器3.1命令格式3.2參數說明 4. 訓…

Smart Time Plus smarttimeplus-MySQLConnection SQL注入漏洞(CVE-2024-53544)

免責聲明 本文所描述的漏洞及其復現步驟僅供網絡安全研究與教育目的使用。任何人不得將本文提供的信息用于非法目的或未經授權的系統測試。作者不對任何由于使用本文信息而導致的直接或間接損害承擔責任。如涉及侵權,請及時與我們聯系,我們將盡快處理并刪除相關內容。 0x01…

58.Harmonyos NEXT 圖片預覽組件架構設計與實現原理

溫馨提示:本篇博客的詳細代碼已發布到 git : https://gitcode.com/nutpi/HarmonyosNext 可以下載運行哦! Harmonyos NEXT 圖片預覽組件架構設計與實現原理 文章目錄 Harmonyos NEXT 圖片預覽組件架構設計與實現原理效果預覽一、組件架構概述1. 核心組件層…

虛擬機下ubuntu進不了圖形界面

6.844618] piix4_smbus 0000:07.3: SMBus Host ContrFoller not enabled! 7.859836] sd 2:0:0:0:0: [sda] Assuming drive cache: wirite through /dev/sda1: clean, 200424/1966080 files, 4053235/7864064 blocks ubuntu啟動時,卡在上面輸出位置 當前遇到的原因…