Linux ssh雙向免密認證

来源:https://www.cnblogs.com/Sunzz/archive/2018/01/20/8320330.html
-Advertisement-
Play Games

一、實現原理 使用一種被稱為"公私鑰"認證的方式來進行ssh登錄。"公私鑰"認證方式簡單的解釋是: 首先在客戶端上創建一對公私鑰(公鑰文件:~/.ssh/id_rsa.pub;私鑰文件:~/.ssh/id_rsa),然後把公鑰放到伺服器上(~/.ssh/authorized_keys),自己保留好私 ...


一、實現原理

使用一種被稱為"公私鑰"認證的方式來進行ssh登錄。"公私鑰"認證方式簡單的解釋是:
首先在客戶端上創建一對公私鑰(公鑰文件:~/.ssh/id_rsa.pub;私鑰文件:~/.ssh/id_rsa),然後把公鑰放到伺服器上(~/.ssh/authorized_keys),自己保留好私鑰。當ssh登錄時,ssh程式會發送私鑰去和伺服器上的公鑰做匹配。如果匹配成功就可以登錄了。

二、實驗環境

node1機:192.168.5.10
node2機:192.168.5.20

三、Linux/Unix雙機建立信任

3.1 在node1機生成證書

在node1機root用戶下執行ssh-keygen命令,在需要輸入的地方,直接回車,生成建立安全信任關係的證書。

[root@node1 ~]# ssh-keygen -t rsa


註意:在程式提示輸入passphrase時直接輸入回車,表示無證書密碼。
   上述命令將生成私鑰證書id_rsa和公鑰證書id_rsa.pub,存放在用戶家目錄的.ssh子目錄中。

3.2 查看生成密鑰的文件

[root@node1 ~]# ll  /root/.ssh/

3.3 node1對node2建立信任關係

將公鑰證書id_rsa.pub複製到機器node2的root家目錄的.ssh子目錄中,同時將文件名更換為authorized_keys,此時需要輸入node2機的root用戶密碼(還未建立信任關係)。建立了客戶端到伺服器端的信任關係後,客戶端就可以不用再輸入密碼,就可以從伺服器端拷貝數據了。

[root@node1 ~]# scp -r /root/.ssh/id_rsa.pub 192.168.5.20:/root/.ssh/authorized_keys

3.4 node2對node1建立信任關係

在node2機上執行同樣的操作,建立node2對node1的信任關係。

[root@node2 ~]# ssh-keygen -t rsa


查看文件

[root@node2 ~]# ll  /root/.ssh/

[root@node2 ~]# scp -r /root/.ssh/id_rsa.pub 192.168.5.10:/root/.ssh/authorized_keys

註意:記得修改authorized_keys許可權

[root@node1 ~]# chmod 600 /root/.ssh/authorized_keys

四、測試

在node1機上:

[root@node1 ~]# scp /opt/test.txt 192.168.5.20:/opt/


在node2機上:

[root@node2 ~]# scp /opt/test22.txt 192.168.5.10:/opt/

五、遠程執行命令

命令格式:ssh 遠程用戶名@遠程主機IP地址 '遠程命令或者腳本'

[root@node2 ~]# ssh [email protected] 'hostname'


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 超聲測距模塊 HC-SR04P。工作電壓3-5V,有效距離2-400cm,解析度1mm。註意型號末尾的“P”:有另一個外觀、介面、工作方式一樣的型號 HC-SR04,但工作電壓為5V。我這個模塊 PCB正面印刷的是HC-SR04,反面印刷 HC-SR04P: 有4個引腳,VCC/GND供電,TRIG ...
  • 1、關閉iptables和selinux 2、安裝yum源 3、安裝LAMP 3.1、安裝MySQL 3.2、安裝apache 3.3、安裝PHP 4、安裝zabbix 5、修改配置文件 6、登陸zabbix,賬號Admin,密碼zabbix ...
  • 一般庫的標準名稱是libxxx.so或者libxxx.a, 如果沒有, 也可以搞個linkname出來, 那就可以直接用 "-lxxx" 來鏈接了, 但要是你想直接用realname, 就不能直接這麼用了, 但也很簡單, 用 "-l:" 後面接庫名, 至於什麼是realname, linkname, ...
  • DHCP作用 DHCP(Dynamic Host Configuration Protocol,動態主機配置協議)是一個區域網的網路協議,使用UDP協議工作, 主要有兩個用途:給內部網路或網路服務供應商自動分配IP地址、子網掩碼、網關以及DNS、(網路批量安裝)等tcp/ip信息,給用戶或者內部網路 ...
  • 一、介紹extundelete 1.extundelete的文件恢復工具,該工具最給力的一點就是支持ext3/ext4雙格式分區恢復。 2. 在實際線上恢復過程中,切勿將extundelete安裝到你誤刪的文件所在硬碟,這樣會有一定幾率將需要恢復的數據徹底覆蓋。 3. extundelete還是有很 ...
  • Ubuntu是一個以桌面應用為主的Linux操作系統。Ubuntu每六個月發佈一個新版本(一般是4和10月份,命名為YY.MM),每一個普通版本都將被支持 18個月,長期支持版(Long Term Support, LTS)的桌面版本支持 3年,伺服器版本則是 5 年。因為她安裝軟體很方便(對於有網 ...
  • 在CentOS7下,預設安裝的就是python2.7,我現在來教大家如何安裝python3: 1、首先安裝python3.6可能使用的依賴 2、下載python源碼包,地址為https://www.python.org/downloads/source/,然後通過xftp上傳上去,或者直接使用wge ...
  • 1.首先下載rpm包 32位 wget https://download.teamviewer.com/download/linux/teamviewer.i686.rpm 64位 wget https://download.teamviewer.com/download/linux/teamvie ...
一周排行
    -Advertisement-
    Play Games
  • 1. 說明 /* Performs operations on System.String instances that contain file or directory path information. These operations are performed in a cross-pla ...
  • 視頻地址:【WebApi+Vue3從0到1搭建《許可權管理系統》系列視頻:搭建JWT系統鑒權-嗶哩嗶哩】 https://b23.tv/R6cOcDO qq群:801913255 一、在appsettings.json中設置鑒權屬性 /*jwt鑒權*/ "JwtSetting": { "Issuer" ...
  • 引言 集成測試可在包含應用支持基礎結構(如資料庫、文件系統和網路)的級別上確保應用組件功能正常。 ASP.NET Core 通過將單元測試框架與測試 Web 主機和記憶體中測試伺服器結合使用來支持集成測試。 簡介 集成測試與單元測試相比,能夠在更廣泛的級別上評估應用的組件,確認多個組件一起工作以生成預 ...
  • 在.NET Emit編程中,我們探討了運算操作指令的重要性和應用。這些指令包括各種數學運算、位操作和比較操作,能夠在動態生成的代碼中實現對數據的處理和操作。通過這些指令,開發人員可以靈活地進行算術運算、邏輯運算和比較操作,從而實現各種複雜的演算法和邏輯......本篇之後,將進入第七部分:實戰項目 ...
  • 前言 多表頭表格是一個常見的業務需求,然而WPF中卻沒有預設實現這個功能,得益於WPF強大的控制項模板設計,我們可以通過修改控制項模板的方式自己實現它。 一、需求分析 下圖為一個典型的統計表格,統計1-12月的數據。 此時我們有一個需求,需要將月份按季度劃分,以便能夠直觀地看到季度統計數據,以下為該需求 ...
  • 如何將 ASP.NET Core MVC 項目的視圖分離到另一個項目 在當下這個年代 SPA 已是主流,人們早已忘記了 MVC 以及 Razor 的故事。但是在某些場景下 SSR 還是有意想不到效果。比如某些靜態頁面,比如追求首屏載入速度的時候。最近在項目中回歸傳統效果還是不錯。 有的時候我們希望將 ...
  • System.AggregateException: 發生一個或多個錯誤。 > Microsoft.WebTools.Shared.Exceptions.WebToolsException: 生成失敗。檢查輸出視窗瞭解更多詳細信息。 內部異常堆棧跟蹤的結尾 > (內部異常 #0) Microsoft ...
  • 引言 在上一章節我們實戰了在Asp.Net Core中的項目實戰,這一章節講解一下如何測試Asp.Net Core的中間件。 TestServer 還記得我們在集成測試中提供的TestServer嗎? TestServer 是由 Microsoft.AspNetCore.TestHost 包提供的。 ...
  • 在發現結果為真的WHEN子句時,CASE表達式的真假值判斷會終止,剩餘的WHEN子句會被忽略: CASE WHEN col_1 IN ('a', 'b') THEN '第一' WHEN col_1 IN ('a') THEN '第二' ELSE '其他' END 註意: 統一各分支返回的數據類型. ...
  • 在C#編程世界中,語法的精妙之處往往體現在那些看似微小卻極具影響力的符號與結構之中。其中,“_ =” 這一組合突然出現還真不知道什麼意思。本文將深入剖析“_ =” 的含義、工作原理及其在實際編程中的廣泛應用,揭示其作為C#語法奇兵的重要角色。 一、下劃線 _:神秘的棄元符號 下劃線 _ 在C#中並非 ...