2、ubantu系統配置OpenSSH | 使用vscode或pycharm遠程連接

?1、OpenSSH介紹

OpenSSH(Open Secure Shell)是一套基于SSH協議的開源工具,用于在計算機網絡中提供安全的加密通信。它被廣泛用于遠程系統管理、文件傳輸和網絡服務的安全隧道搭建,是保護網絡通信免受竊聽和攻擊的重要工具。

1.1、核心功能

安全遠程登錄

  • ssh?命令:通過加密通道登錄遠程主機(如?ssh user@hostname)。

  • 替代不安全的Telnet和rlogin,防止密碼和會話內容被截獲。

文件傳輸

  • scp:加密的跨系統文件拷貝(如?scp file.txt user@host:/path)。

  • sftp:交互式加密文件傳輸(類似FTP的安全版本)。

端口轉發(隧道)

  • 本地轉發:將本地端口流量通過SSH隧道轉發到遠程服務器。

  • 遠程轉發:將遠程服務器端口流量轉發回本地。

  • 動態轉發:創建SOCKS代理,靈活轉發多種流量。

密鑰管理

  • 支持公鑰認證(無需每次輸入密碼),通過?ssh-keygen?生成密鑰對。

  • 密鑰可存儲在?~/.ssh/authorized_keys?中實現免密登錄。

服務端支持

  • sshd:OpenSSH的服務端守護進程,監聽默認端口22。

  • 通過?/etc/ssh/sshd_config?配置文件調整安全策略(如禁用密碼登錄)。

1.2、安全特性

  • 強加密算法:使用AES、ChaCha20等加密數據,Diffie-Hellman密鑰交換確保會話安全。

  • 協議版本:推薦SSH-2(修復SSH-1的漏洞),默認禁用舊版協議。

  • 防中間人攻擊:首次連接時記錄主機指紋,后續驗證防止偽裝。

  • 審計與日志:詳細日志記錄(/var/log/auth.log?等)便于追蹤訪問行為。

1.3、典型應用場景

遠程服務器管理:運維人員通過SSH安全管理Linux/Unix服務器。

自動化腳本與工具:結合SSH密鑰實現無人值守備份、CI/CD流水線等。

跨防火墻訪問:通過隧道訪問內網服務(如數據庫、Web管理界面)。

安全文件傳輸:取代FTP,用于敏感數據的加密傳輸。

1.4、配置優化與安全實踐

禁用密碼登錄:僅允許公鑰認證,防止暴力破解。

# 修改sshd_config
PasswordAuthentication no

限制用戶與IP:僅允許特定用戶或IP段訪問。

AllowUsers admin@192.168.1.0/24

更改默認端口:減少自動化攻擊風險(如?Port 2222)。

禁用Root登錄:降低權限濫用風險。

PermitRootLogin no

更新與漏洞防護:保持OpenSSH版本最新,及時修復安全漏洞。

1.5、優勢總結

  • 開源免費:可自由使用、審計和修改代碼。

  • 跨平臺支持:適用于Linux、Windows(通過WSL或OpenSSH for Windows)、macOS等。

  • 社區強大:持續更新維護,及時響應安全威脅。

2、配置OpenSSH

2.1、安裝OpenSSH服務器

更新系統:

sudo apt update && sudo apt upgrade -y

安裝 OpenSSH Server

sudo apt install openssh-server -y

啟動并啟用 SSH 服務

sudo systemctl start ssh
sudo systemctl enable ssh # 設置開機啟動

檢查 SSH 服務狀態

sudo systemctl status ssh

2.2、配置 SSH 安全性

修改默認端口(可選,但推薦)

編輯 SSH 配置文件:

sudo nano /etc/ssh/sshd_config

找到 #Port 22,取消注釋并修改為一個非標準端口(例如 2222):

Port 2222

禁用 root 登錄(推薦)

/etc/ssh/sshd_config 中找到以下行,取消注釋:#PermitRootLogin prohibit-password

PermitRootLogin no

2.3、配置防火墻

安裝 UFW(可選):

sudo apt install ufw -y

允許 SSH 端口:

sudo ufw allow 602/tcp? # 替換為你的 SSH 端口

啟用防火墻:

sudo ufw enable

3、使用vscode遠程資源管理器遠程連接

3.1、打開配置文件

/Users/wq/.ssh/config

  • 特點:這是用戶目錄下的SSH配置文件,通常用于存儲特定用戶的SSH配置。
  • 適用場景:當您只需要修改自己的SSH配置,且不需要系統管理員權限時,選擇此選項是合適的。
  • 影響范圍:僅影響當前用戶,不會影響其他用戶或系統范圍的SSH配置。

/etc/ssh/ssh_config

  • 特點:這是系統范圍的SSH配置文件,它影響所有用戶和SSH連接。
  • 適用場景:當您需要修改整個系統的SSH配置,且您擁有管理員權限時,可以選擇此選項。但請謹慎操作,因為這會影響所有用戶。
  • 影響范圍:更改此文件會影響整個系統的SSH配置。

設置指定自定義配置文件

  • 特點:此選項允許您指定一個不同于上述兩個位置的自定義配置文件。
  • 適用場景:當您需要更大的靈活性,或者需要與其他用戶或系統共享配置文件時,可以選擇此選項。
  • 影響范圍:取決于您指定的配置文件路徑和權限設置。

3.2、配置信息

打開SSH配置,可以進行配置的增刪改查,保存文件即可。

3.3、遠程連接

?安裝 Remote-SSH 插件

連接方式1


  • -v?參數:表示啟用詳細模式(verbose mode)。在這種模式下,SSH 客戶端會輸出詳細的調試信息,包括連接過程中的每一步操作、加密協商、認證過程等。

連接方式2

?在客戶端(如本地電腦)打開終端,使用以下命令連接到服務器:

ssh -v -p 602 wangqiang@192.168.2.22? # 替換端口、用戶名和服務器 IP
# 通過終端進行連接 (dify) wq@wqdeMacBook-Pro dify % ssh -v -p 602 wangqiang@192.168.2.22
OpenSSH_9.9p1, LibreSSL 3.3.6
debug1: Reading configuration data /Users/wq/.ssh/config
...
...Welcome to Ubuntu 22.04.5 LTS (GNU/Linux 6.8.0-58-generic x86_64)* Documentation:  https://help.ubuntu.com* Management:     https://landscape.canonical.com* Support:        https://ubuntu.com/pro擴展安全維護(ESM)Applications 未啟用。0 更新可以立即應用。2 個額外的安全更新可以通過 ESM Apps 來獲取安裝。
可通過以下途徑了解如何啟用 ESM Apps:at https://ubuntu.com/esmNew release '24.04.2 LTS' available.
Run 'do-release-upgrade' to upgrade to it.*** System restart required ***
wangqiang@wangqiang:~$ 
# 退出遠程wangqiang@wangqiang:~$ exit
注銷
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: client_input_channel_req: channel 0 rtype eow@openssh.com reply 0
debug1: channel 0: free: client-session, nchannels 1
Connection to 192.168.2.22 closed.
Transferred: sent 3644, received 4388 bytes, in 158.5 seconds
Bytes per second: sent 23.0, received 27.7
debug1: Exit status 0
(dify) wq@wqdeMacBook-Pro dify % 

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

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

相關文章

Leetcode刷題 | Day63_圖論08_拓撲排序

一、學習任務 拓撲排序代碼隨想錄 二、具體題目 1.拓撲排序117. 軟件構建 【題目描述】 某個大型軟件項目的構建系統擁有 N 個文件,文件編號從 0 到 N - 1,在這些文件中,某些文件依賴于其他文件的內容,這意味著如果文件 A 依…

uniapp中vue3和pinia安裝依賴npm install失敗

目錄 一、問題描述 二、問題原因 三、問題解析及解決方案 一、問題描述 用uni-app開發小程序的時候,使用了vue3pinia,安裝依賴的時候發現vue和pinia的版本問題,安裝失敗, npm ERR! code ERESOLVE npm ERR! ERESOLVE could not resolve np…

2025認證杯第二階段數學建模B題:謠言在社交網絡上的傳播思路+模型+代碼

2025認證杯數學建模第二階段思路模型代碼,詳細內容見文末名片 一、引言 在當今數字化時代,社交網絡已然成為人們生活中不可或缺的一部分。信息在社交網絡上的傳播速度猶如閃電,瞬間就能觸及大量用戶。然而,這也為謠言的滋生和擴…

【C#】Thread.Join()、異步等待和直接join

JogThread.Join() 是 .NET 中 System.Threading.Thread 類的一個方法,用來讓當前調用線程暫停執行,直到目標線程(這里是 JogThread)終止為止。以下是它的核心語義和你在 UI 代碼里需要注意的幾個相關知識點。 1. Thread.Join() 的…

牛客網NC22012:判斷閏年問題詳解

牛客網NC22012:判斷閏年問題詳解 📝 題目描述 題號:NC22012(牛客網) 時間限制:C/C/Rust/Pascal 1秒,其他語言2秒 空間限制:C/C/Rust/Pascal 32 M,其他語言64 M 判斷一個…

鴻蒙開發——1.ArkTS聲明式開發(UI范式基本語法)

鴻蒙開發——1、ArkTS聲明式開發:UI范式基本語法 [TOC](鴻蒙開發——1、ArkTS聲明式開發:UI范式基本語法)一、ArkTS的基本組成(1)核心概念(像貼標簽一樣控制組件)(2)基礎工具包(現成的積木塊&am…

【SPIN】PROMELA語言編程入門基礎語法(SPIN學習系列--1)

PROMELA(Protocol Meta Language)是一種用于描述和驗證并發系統的形式化建模語言,主要與SPIN(Simple Promela Interpreter)模型檢查器配合使用。本教程將基于JSPIN(SPIN的Java圖形化版本)&#…

Automatic Recovery of the Atmospheric Light in Hazy Images論文閱讀

Automatic Recovery of the Atmospheric Light in Hazy Images 1. 論文的研究目標與實際意義1.1 研究目標1.2 實際問題與產業意義2. 論文的創新方法、模型與公式2.1 方法框架2.1.1 方向估計(Orientation Estimation)2.1.2 幅值估計(Magnitude Estimation)2.2 與傳統方法的對…

基于微信小程序的在線聊天功能實現:WebSocket通信實戰

基于微信小程序的在線聊天功能實現:WebSocket通信實戰 摘要 本文將詳細介紹如何使用微信小程序結合WebSocket協議開發一個實時在線聊天功能。通過完整的代碼示例和分步解析,涵蓋界面布局、WebSocket連接管理、消息交互邏輯及服務端實現,適合…

速通:國際數字影像產業園園區服務體系

速通:國際數字影像產業園園區服務體系 國際數字影像產業園服務體系致力于構建全周期、多維度、高效率的產業賦能平臺,旨在優化營商環境,激發企業活力,推動數字影像產業集群化、高端化發展。 一、基礎運營與智慧管理服務 智慧化…

DeerFlow:字節新一代 DeepSearch 框架

項目地址:https://github.com/bytedance/deer-flow/ 【全新的 Multi-Agent 架構設計】獨家設計的 Research Team 機制,支持多輪對話、多輪決策和多輪任務執行。與 LangChain 原版 Supervisor 相比,顯著減少 Tokens 消耗和 API 調用次數&#…

MySQL 大表中添加索引的兩種常見方式及其優缺點分析

引言 在數據庫性能優化過程中,給大表添加索引是一項常見且重要的操作。由于大表數據量龐大,索引的創建過程往往涉及較高的系統開銷和復雜的操作流程。本文將介紹兩種在大表中添加索引的常見方法:直接添加索引和表復制方式,分別分…

Ubuntu系統掛載磁盤并配置開機自動掛載

今天買了個服務器然后掛載了一個500G的磁盤,但是登錄進去后發看不到,就是下面這樣的 只能看到100G的系統盤 rootecm-74de:/usr/local# df -h Filesystem Size Used Avail Use% Mounted on tmpfs 3.1G 1.1M 3.1G 1% /run /dev/vda2 …

Android開發-Application

在Android應用開發中,Application類扮演著非常重要的角色。它作為整個應用程序的全局單例實例存在,在應用啟動時最先被創建,并且在整個應用生命周期內持續存在。通過自定義Application類,開發者可以執行全局初始化操作、管理全局狀…

邊緣計算平臺

本文來源 : 騰訊元寶 邊緣計算平臺是一種在靠近數據源頭的網絡邊緣側部署的分布式計算架構,通過融合網絡、計算、存儲和應用核心能力,就近提供實時、低延遲的智能服務。以下是其核心要點: ??1. 定義與特點?? ??定義??&a…

Spring 框架 JDBC 模板技術詳解

一、JDBC 模板技術概述 在傳統 JDBC 開發中,開發人員需要手動處理數據庫連接(Connection)、事務管理、語句執行(Statement)和結果集(ResultSet)等繁瑣操作,不僅代碼冗余度高&#x…

Axure難點解決分享:統計分析頁面引入Echarts示例動態效果

親愛的小伙伴,在您瀏覽之前,煩請關注一下,在此深表感謝! Axure產品經理精品視頻課已登錄CSDN可點擊學習https://edu.csdn.net/course/detail/40420 課程主題:統計分析頁面引入Echarts示例動態效果 主要內容:echart示例引入、大小調整、數據導入 應用場景:統計分析頁面…

SpringBoot 數據校驗與表單處理:從入門到精通(萬字長文)

一、SpringBoot 數據驗證基礎 1.1 數據驗證的重要性 在現代Web應用開發中,數據驗證是保證系統安全性和數據完整性的第一道防線。沒有經過驗證的用戶輸入可能導致各種安全問題,如SQL注入、XSS攻擊,或者簡單的業務邏輯錯誤。 數據驗證的主要…

Ubuntu 22.04(WSL2)使用 Docker 安裝 Zipkin 和 Skywalking

Ubuntu 22.04(WSL2)使用 Docker 安裝 Zipkin 和 Skywalking 分布式追蹤工具在現代微服務架構中至關重要,它們幫助開發者監控請求在多個服務之間的流動,識別性能瓶頸和潛在錯誤。本文將指導您在 Ubuntu 22.04(WSL2 環境…

python打卡day25@浙大疏錦行

知識點回顧: 1.異常處理機制 2.debug過程中的各類報錯 3.try-except機制 4.try-except-else-finally機制 在即將進入深度學習專題學習前,我們最后差缺補漏,把一些常見且重要的知識點給他們補上,加深對代碼和流程的理解。 作業&a…