vscode+remote突然無法連接服務器以及ssh連接出問題時的排錯方法

文章目錄

    • 設備描述
    • 狀況描述
    • 解決方法
    • 當ssh連接出問題時的排錯方法

設備描述

主機:win11,使用vscode的remote-ssh插件
服務器:阿里云的2C2GUbuntu 22.04 UFIE

狀況描述

之前一直使用的是vscode的remote服務,都是能夠正常連接服務器的,但是今天由于一些情況,我對服務器的系統進行了重裝,然后我再想使用vscode連接服務器就連不上了,一直彈窗出錯,重試了幾次都沒沒什么效果。
我使用了阿里云自帶的webbench,并使用ssh連接,發現沒問題。于是我再次檢查了服務器22端口的開啟情況和防火墻的開啟情況,發現也沒有問題,于是懷疑是vscode出問題了。
再嘗試卸載、重裝remote_ssh插件后,情況依舊沒有好轉;于是又換用別的ssh連接工具(嘗試了Tabby、XShell發現能正常連接),于是確定問題不在服務器

解決方法

經查,ssh協議在連接的時候會生成一個連接密鑰,以標識該主機,該標識會被存儲起來,方便下次訪問的時候直接使用,而不用再次生成、接收
在ssh連接的報錯信息中,出現了如下信息:
在這里插入圖片描述

其中就已經明確指出:host key有問題,它在C:\users\Lenovo.ssh\known_hosts這個文件中,于是我順著提示找到了這個文件,使用文本編輯器后打開,果然找到了相對的主機的Key。
在這里插入圖片描述
在這里插入圖片描述

這樣一切都能說清楚了:

[!問題分析]
由于我重裝了系統,ssh自然也重裝了,服務器重新生成了密鑰,但是我的vscode卻不知道,還存儲的是之前的密鑰,因此在連接的時候,密鑰對不上,就出現了連接失敗的問題

因此,我們只需將相對應主機的相關Key全部刪除就好了,再下次連接的時候重新獲取服務器的ssh令牌(Key)。
再嘗試連接服務器,重新獲取Key,就發現能正常連接了。

當ssh連接出問題時的排錯方法

那么當出現問題的時候我們應當如何排查呢?
以下是我的一些經驗總結

  1. 首先查看服務器的ssh服務是否出問題了

    systemctl status sshd
    

    如果看到的是類似如下的結果,百分之八十應該是沒問題的:
    這說明ssh服務是正常開啟的。

  2. 接下來就是檢查防火墻是否關閉

    systemctl status firewalld
    

    我的服務器不知道是為啥,似乎是裝不了防火墻?反正沒有,如果檢查到防火墻處于running狀態的要先將其暫停:

    systemctl stop firewalld
    

    現在再試試能不能連上服務器了。
    如果還是不行,然后又不是我這種報錯的,可以使用telnet命令,看看服務器的端口狀態:

    telnet <IP> <PORT>
    

    看看是否能夠正常檢測,檢測成功會出現如下內容:在這里插入圖片描述
    有極少數的情況就是22端口本身就被占用了,因此ssh服務可能使用其它端口用于監聽連接,但是這種情況我不熟,也還沒有碰到過,就暫時不說了吧。
    還有文章說,需要手動安裝openssh:

    sudo apt install openssh
    

    也可以試試吧,但我記得在安裝ssh的時候默認就會有這個,似乎是不存在這個問題?

  3. 檢查主機的ssh是否正常

  4. 若是上述方法試了還不行,就試著刪除主機中所存儲的Key吧,方法上面說了。

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

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

相關文章

【Qt】界面布局

Qt常用布局 除Qt Designer支持可視化設計和布局界面之外&#xff0c;Qt 提供了代碼方式來進行界面布局&#xff0c; 以下是幾種常用的界面布局方式&#xff1a; 水平布局&#xff08;QHBoxLayout&#xff09;和垂直布局&#xff08;QVBoxLayout&#xff09;&#xff1a; QHBo…

Redis常用數據結構--Zset

Zset ZADDZCARDZCOUNTZRANGE/ZREVRANGEZRANGEBYSCOREZPOPMAX/ZPOPMINBZPOPMAX/BZPOPMINZRANK/ZREVRANKZSCOREZREMZREMRANGEBYRANKZREMRANGEBYSCOREZINCRBYZINTERSTORE/ZUNIONSTORE內部編碼使?場景 ZADD 添加或者更新指定的元素以及關聯的分數到 zset 中&#xff0c;分數應該符…

如何在 Angular 測試中使用 spy

簡介 Jasmine spy 用于跟蹤或存根函數或方法。spy 是一種檢查函數是否被調用或提供自定義返回值的方法。我們可以使用spy 來測試依賴于服務的組件&#xff0c;并避免實際調用服務的方法來獲取值。這有助于保持我們的單元測試專注于測試組件本身的內部而不是其依賴關系。 在本…

空調壓縮機補充潤滑油的方法

空調壓縮機補充潤滑油的方法有三種&#xff0c;從吸氣截止閥旁邊通孔吸入&#xff0c;從加油孔中加入&#xff0c;從曲軸箱下部加入&#xff0c;具體操作步驟如下&#xff1a; 1關閉吸氣截止閥&#xff0c;啟動壓縮機幾分鐘&#xff0c;將曲軸箱中制冷劑排入冷凝器&#xff0c…

vue2結合electron開發桌面端應用

一、Electron是什么&#xff1f; Electron是一個使用 JavaScript、HTML 和 CSS 構建桌面應用程序的框架。 嵌入 Chromium 和 Node.js 到 二進制的 Electron 。允許您保持一個 JavaScript 代碼代碼庫并創建可在Windows、macOS和Linux上運行的跨平臺應用 。 Electron 經常與 Ch…

scrapy 中間件

就是發送請求的時候&#xff0c;會經過&#xff0c;中間件。中間件會處理&#xff0c;你的請求 下面是代碼&#xff1a; # Define here the models for your spider middleware # # See documentation in: # https://docs.scrapy.org/en/latest/topics/spider-middleware.html…

【快速上手ProtoBuf】基本使用

文章目錄 1 :peach:初識 ProtoBuf:peach:1.1 :apple:序列化概念:apple:1.2 :apple:ProtoBuf 是什么:apple:1.3 :apple:ProtoBuf 的使用特點:apple: 2 :peach:創建 .proto ?件:peach:3 :peach:編譯 .proto 文件:peach:3 :peach:序列化與反序列化的使用:peach: 1 &#x1f351;初…

洛谷 2036.PERKET

采用遞歸法的方式進行題解。 思路&#xff1a;首先我們知道在n種材料當中&#xff0c;我們需要從中選擇至少有一種得配料才行。也就是說&#xff0c;我們選擇的配料數目是自己決定的&#xff0c;而不是那種組合型得對于你有要求的組合型遞歸方式。 所以我們會想到用指數型得遞…

(五)網絡優化與超參數選擇--九五小龐

網絡容量 網絡中神經單元數越多&#xff0c;層數越多&#xff0c;神經網路的擬合能力越強。但是訓練速度&#xff0c;難度越大&#xff0c;越容易產生過擬合。 如何選擇超參數 所謂超參數&#xff0c;也就是搭建神經網路中&#xff0c;需要我們自己去選擇&#xff08;不是通…

LeetCode 刷題 [C++] 第45題.跳躍游戲 II

題目描述 給定一個長度為 n 的 0 索引整數數組 nums。初始位置為 nums[0]。 每個元素 nums[i] 表示從索引 i 向前跳轉的最大長度。換句話說&#xff0c;如果你在 nums[i] 處&#xff0c;你可以跳轉到任意 nums[i j] 處: 0 < j < nums[i]i j < n 返回到達 nums[n …

遞歸函數(c++題解)

題目描述 對于一個遞歸函數w(a, b, c)。 如果a < 0 or b < 0 or c < 0就返回值1。 如果a > 20 or b > 20 or c > 20就返回W(20,20,20)。 如果a < b并且b < c 就返回w(a, b, c ? 1) w(a, b ? 1, c ? 1) ? w(a, b ? 1, c)&#xff0c; 其它別…

計算機網絡知多少-第1篇

一、 從輸入URL到頁面展示到底發生了什么&#xff1f; 1. 首先瀏覽器會查看電腦本地緩存&#xff0c;如果有直接返回&#xff0c;否則需要進行下一步的網絡請求。 2. 在網絡請求之前&#xff0c;需要先進行DNS解析&#xff0c;來找到請求域名的ip地址。如果是HTTPS請求&#…

【C語言】熟悉文件基礎知識

歡迎關注個人主頁&#xff1a;逸狼 創造不易&#xff0c;可以點點贊嗎~ 如有錯誤&#xff0c;歡迎指出~ 文件 為了數據持久化保存&#xff0c;使用文件&#xff0c;否則數據存儲在內存中&#xff0c;程序退出&#xff0c;內存回收&#xff0c;數據就會丟失。 程序設計中&…

微信小程序,h5端自適應登陸方式

微信小程序端只顯示登陸(獲取opid),h5端顯示通過賬戶密碼登陸 例如: 通過下面的變量控制: const isWeixin ref(false); // #ifdef MP-WEIXIN isWeixin.value true; // #endif

Git 查看提交歷史

命令說明git log查看歷史提交記錄git blame (file)以列表形式查看指定文件的歷史修改記錄 git log 在使用 Git 提交了若干更新之后&#xff0c;又或者克隆了某個項目&#xff0c;想回顧下提交歷史&#xff0c;我們可以使用 git log 命令查看。 git log 命令用于查看 Git 倉庫中…

LIN基礎:從LIN Frame開始

目錄&#xff1a; 1、LIN的網絡拓撲 2、LIN Frame 1&#xff09;Header 2&#xff09;Response 3、LIN的通信規則 1&#xff09;LIN的發送行為示例 2&#xff09;LIN的接收行為示例 雖然LIN總線的通信速率不高&#xff0c;工程中&#xff0c;最高的速率也就19200bps。…

c語言extern關鍵字

extern 是C和C中的關鍵字&#xff0c;用于聲明一個變量或函數的存在&#xff0c;但不進行定義。 它通常用于在一個源文件中引用另一個源文件中定義的變量或函數。 例如&#xff0c;extern int x; 表示 x 是一個整數變量&#xff0c;但它的實際定義將在其他文件中。在引用它的文…

StarRocks——Stream Load 事務接口實現原理

目錄 前言 一、StarRocks 數據導入 二、StarRocks 事務寫入原理 三、InLong 實時寫入StarRocks原理 3.1 InLong概述 3.2 基本原理 3.3 詳細流程 3.3.1 任務寫入數據 3.3.2 任務保存檢查點 3.3.3 任務如何確認保存點成功 3.3.4 任務如何初始化 3.4 Exactly Once 保證…

Leetcode - 周賽386

目錄 一&#xff0c;3046. 分割數組 二&#xff0c;3047. 求交集區域內的最大正方形面積 三&#xff0c;3048. 標記所有下標的最早秒數 I 四&#xff0c;3049. 標記所有下標的最早秒數 II 一&#xff0c;3046. 分割數組 將題目給的數組nums分成兩個數組&#xff0c;且這兩個…

探索RedisJSON:將JSON數據力量帶入Redis世界

探索RedisJSON&#xff1a;將JSON數據力量帶入Redis世界 當我們談論數據存儲和查詢時&#xff0c;Redis和JSON都是無法忽視的重要角色。Redis以其高效的鍵值存儲、快速的讀/寫速度、以及豐富的數據結構贏得了開發者的喜愛。而JSON&#xff0c;作為一種輕量級的數據交換格式&am…