【ssh】ubuntu服務器+本地windows主機,使用密鑰對進行ssh鏈接

目錄

  • 1、服務器配置ssh
  • 2、本地主機秘鑰對
  • 3、上傳公鑰至服務器
  • 4、配置服務器的公鑰信息
  • 5、測試連接

1、服務器配置ssh

使用的服務器系統為 ubuntu系統20.04
首先確認服務器是否已安裝SSH,已安裝的話會返回openssh 的相關信息,返回為空表示未安裝

dpkg -l | grep openssh-server

如果沒有安裝,進行安裝

sudo apt update
sudo apt install openssh-server

安裝成功后,啟動ssh服務

sudo systemctl start ssh
sudo systemctl enable ssh

允許防火墻 通過SSH連接

sudo ufw allow 22/tcp

檢查是否啟動成功

sudo systemctl status ssh

返回:
請添加圖片描述

查看服務器的主機名hostname 和 用戶名

hostname -I
ls /home/

查看 ssh 端口port,默認的端口號為22

sudo ss -tulnp | grep sshd

如果需要配置ssh的config文件,可以用vi或者nano對Config文件的內容進行修改

sudo  vi /etc/ssh/sshd_config

編輯完后按 Esc
:w 保存文件
:wq or ZZ 保存并退出
:x 保存并退出(只有當文件被修改時才保存)
:q 退出(未修改時)
:q! 強制退出不保存

或者

sudo nano /etc/ssh/sshd_config

編輯完后按
Ctrl + O 保存
屏幕底部顯示 File Name to Write: [當前文件名],保持原文件名,直接按 Enter 回車,要另存為新文件,輸入新文件名后按回車
Ctrl + X退出

2、本地主機秘鑰對

本地主機:windows11
使用Git Bash 檢查本地是否現有SSH密鑰

ls -al ~/.ssh

返回:
如果看到 id_rsa (私鑰) 和 id_rsa.pub (公鑰),說明已有密鑰對
如果沒有,新增秘鑰

ssh-keygen -t rsa -b 4096

輸入保存路徑(默認按回車使用 ~/.ssh/id_rsa)
輸入密鑰密碼(可選但推薦,為空則直接回車)

秘鑰成功生成后,會在本地用戶路徑C:\Users\本地用戶名.ssh文件夾中看到 id_rsa和 id_rsa.pub
在這里插入圖片描述

3、上傳公鑰至服務器

依然是本地主機 Git bash 輸入

cat ~/.ssh/id_rsa.pub

輸出一段以ssh-rsa開頭 以 郵箱結尾的秘鑰
在這里插入圖片描述
復制輸出的全部內容,在Ubuntu服務器上執行:

mkdir -p ~/.ssh
echo "粘貼公鑰內容" >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh

檢查服務器中公鑰文件是否存在

ls -l ~/.ssh/authorized_keys

檢查文件中的內容

cat ~/.ssh/authorized_keys

4、配置服務器的公鑰信息

打開ssh_config中關于秘鑰的相關配置

sudo vi /etc/ssh/sshd_config

編輯文件,找到PubkeyAutentication 刪掉前面的#號,并更改為:
請添加圖片描述
保存并退出,修改后重啟ssh服務:

sudo systemctl restart ssh

檢查SSH服務秘鑰是否修改配置成功

sudo grep -E '^PubkeyAuthentication|^AuthorizedKeysFile' /etc/ssh/sshd_config

輸出:

PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys```

表明此時已允許密鑰認證

檢查秘鑰的權限

ls -ld ~/.ssh && ls -l ~/.ssh/authorized_keys

應該輸出

drwx------ 2 username username 4096 日期 .ssh
-rw------- 1 username username  567 日期 authorized_keys

5、測試連接

在ubuntu服務器中檢查日志

sudo tail -f /var/log/auth.log

會顯示log變化,不要關閉,回到本地windows主機,輸入命令

ssh -i ~/.ssh/id_rsa username@服務器IP -p 端口號

在這里插入圖片描述
連接成功后,服務器的log中會顯示

Accepted publickey for 服務器主機名 from 本地IP port 本地端口號  

等鏈接信息

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

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

相關文章

Linux文件fd

文件理解 文件屬性內容 打開文件:本質是進程打開文件,文件沒被打開時候再磁盤上。 操作文件:本質是進程操作文件。 在操作系統內部,一定存在大量被打開的文件,會對其進行管理,每一個被打開的文件&#…

北京-4年功能測試2年空窗-報培訓班學測開-第六十四天-準備面試項目(焦慮)-同學開始面試

今日產出,整理自我介紹,繼續整理第一個項目,學習linux命令很焦慮啊很焦慮,很著急今天本打算結束第一個項目的,但是沒能夠,越說感覺越亂,讓同學聽我講,同學說,要聽睡著了于…

網絡是如何運轉的?——常見網絡協議與網絡分層模型

目錄 基本網絡協議 TCP(傳輸控制協議) 可靠傳輸:序列號確認應答重傳機制 序列號(seq) 確認應答(ACK) 超時重傳 三次握手與四次揮手 三次握手(建立連接) 四次揮手…

OpenAI放大招:ChatGPT學習模式上線,免費AI智能家教

目錄一、背景介紹二、學習模式是什么國內直接使用AI主流模型GPT-5也會第一時間同步更新。三、主要功能特點1、互動式提示2、分層次響應3、個性化支持4、知識檢查5、靈活切換四、學生如何使用學習模式1、訪問方式2、適用場景3、交互過程4、使用示例五、局限性1、依賴學生自覺性2…

設計模式:享元模式 Flyweight

目錄前言問題解決方案享元工廠結構代碼前言 享元是一種結構型設計模式,它摒棄了在每個對象中保存所有數據的方式,通過共享多個對象所共有的相同狀態,讓你能在有限的內存容量中載入更多對象。 問題 假如你希望在長時間工作后放松一下&#x…

Spring Boot容器化實戰:用官方OpenJDK鏡像極速啟動你的應用

前言 用 Docker 打包 Java 應用,尤其是 Spring Boot,簡直是開發者的超級利器。想象一下,你的程序就像勤快的外賣小哥,隨時待命,跑遍任何一臺機器,馬上為你服務。不論是開發環境還是生產環境,Docker 都能讓部署變得輕松又高效,徹底告別“環境不一致”的煩惱。 本篇文章…

【計算機網絡 | 第1篇】計算機網絡概述(上)

文章目錄一.現代通信基礎🥝二.網絡、互聯網、英特網🧾1.網絡(Network)2.互聯網(internet)3.因特網(Internet)三.計算機網絡的標準定義🥝早期定義🧾物理構成視…

python語法筆記

問題解決辦法 原本是個小問題,但是花了我大量時間。先說最后的解決辦法:360網絡急救箱搞的。一.問題描述 始終拉取失敗 二.解決過程 1.登陸憑證檢測,查下密碼是不是不對。2.清除GIT所有數據 3.使用SSH拉取 生成密鑰網站上添加密鑰SSH 拉取4.G…

XTOM藍光三維掃描儀:解鎖中小尺寸復雜零件的高精度3D檢測新境界

在3C消費電子行業,產品從出廠到用戶手中,可能經歷運輸、使用中的意外跌落。據統計,超過30%的電子產品售后問題與物理沖擊相關。跌落測試可模擬產品在運輸、使用中意外跌落的場景,可評估其結構強度、內部組件抗沖擊能力&#xff0c…

Django+celery異步:拿來即用,可移植性高

一、依賴環境 1、python解釋器版本:python3.7.5 2、穩定依賴包 # Celery 核心 celery5.2.7 kombu5.2.4 billiard3.6.4.0 vine5.0.0# Redis broker backend redis4.3.6# eventlet (如果用 -P eventlet)【windows系統可以使用】 eventlet0.33.3 greenlet1.1.3# 避免…

Ubuntu18.04 LTS +RTL 8125 出現安裝完系統后沒有網絡問題

Ubuntu18.04 LTS RTL 8125 出現安裝完系統后沒有網絡問題問題描述最終解決方案1.下載對應的Realtek網卡驅動,使用命令lspci查看網卡信息安裝網卡3.重啟電腦記錄過程1.內核升級方式1)下載新的內核驅動2)安裝內核驅動3)重啟電腦4&am…

集成電路學習:什么是ARM CortexM處理器核心

ARM Cortex-M是ARM公司專為微控制器( Microcontroller)設計的處理器核心系列,它以其高性能、低功耗和易于開發的特點,在嵌入式系統和微控制器領域得到了廣泛應用。以下是關于ARM Cortex-M的詳細介紹: 一、ARM Cortex-M的概述 ARM Cortex-M系列處理器是基于ARM架構的高能效…

Apache Ignite 的分布式原子類型(Atomic Types)

以下的內容是關于 Apache Ignite 的分布式原子類型(Atomic Types),主要包括 IgniteAtomicLong 和 IgniteAtomicReference。它們是 跨集群節點的“全局共享變量”,支持線程安全、原子性操作,即使多個節點同時訪問也能保…

Leetcode 08 java

283. 移動零 提示 給定一個數組 nums,編寫一個函數將所有 0 移動到數組的末尾,同時保持非零元素的相對順序。 請注意 ,必須在不復制數組的情況下原地對數組進行操作。 示例 1: 輸入: nums [0,1,0,3,12] 輸出: [1,3,12,0,0] 示例 2: 輸…

LeetCode 56 - 合并區間

思路 排序:將所有區間按起始點從小到大排序。貪心合并:初始化一個結果列表,放入第一個區間。然后遍歷剩余區間,將當前區間與結果列表中的最后一個區間比較: 若重疊(當前區間起點 ≤ 結果區間終點&#xff0…

DNS 正向查找與反向查找

DNS 區域是 DNS 中基本的組織單元,為域名定義了管理和權威邊界。一個 DNS 區域通常包含一系列 DNS 資源記錄,包括名稱到地址的映射(正向查找)和地址到名稱的映射(反向查找)。這些區域對于高效管理和解析網絡…

Oracle ERP FORM開發 — 新增查詢條件

1 根據值來查詢具體流程步驟看第2節,這里提供核心的增加查詢條件的觸發器代碼:1.1 可完全匹配的值比如“是”,“否”,“物料”,“”汽車 等等這些可以直接通過對應的值匹配,特點就是詞語,短小。…

Flutter實現列表功能

在Flutter中,可以通過ListView和ListTile等組件來實現類似Android中RecyclerView和Adapter的功能。以下是一個通用的設計架構,用于設計列表數據: 1. 定義數據模型 首先,定義一個數據模型類,用于存儲列表中每一項的數據。例如: class ItemModel {final String title;fi…

2.1、Redis的單線程本質和多線程的操作

Redis的單線程本質 1. 核心單線程部分 #mermaid-svg-iFErSltthPIEsuiP {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-iFErSltthPIEsuiP .error-icon{fill:#552222;}#mermaid-svg-iFErSltthPIEsuiP .error-text{fil…

文件權限值的表示方法

文章目錄字符表示方法8 進制數值表示方法字符表示方法 Linux表示說明Linux表示說明r--只讀-w-僅可寫--x僅可執行rw-可讀可寫-wx可寫可執行r-x可讀可執行rwx可讀可寫可執行---無權限 8 進制數值表示方法 權限符號8進制2進制r4100w2010x1001rw6110rx5101wx3011rwx7111---0000