Linux SCP傳輸文件免密配置

文章目錄

  • Linux SCP傳輸文件免密配置
    • 生成SSH密鑰對
    • 將公鑰復制到遠程服務器
    • 測試SSH連接
    • 使用SCP免密傳輸文件
    • 可選配置
    • 帶密碼的秘鑰連接處理
      • 使用 `ssh-agent`進行緩存管理(該方式只能確保同一個回話中,多次傳輸只輸一次密碼)
      • 使用 `keychain`(長期緩存 `passphrase`)
    • 注意事項

Linux SCP傳輸文件免密配置

要在Linux系統之間使用SCP傳輸文件而不需要每次輸入密碼,可以通過SSH密鑰認證來實現。以下是配置步驟:

生成SSH密鑰對

秘鑰默認存儲/生成目錄位置在家目錄~/.ssh

在本地機器上執行:

  • rsa算法加密
ssh-keygen -t rsa -b 4096 -C "$(whoami)@$(hostname)-$(date +%Y%m%d)"
  • ed25519算法加密
ssh-keygen -t ed25519 -C "$(whoami)@$(hostname)-$(date +%Y%m%d)"

按提示操作(可以直接按回車使用默認設置,不設置密碼短語以實現完全免密)。
在這里插入圖片描述

將公鑰復制到遠程服務器

方法一:使用ssh-copy-id命令(最簡單)

ssh-copy-id username@remote_host

在這里插入圖片描述

方法二:手動復制(如果沒有ssh-copy-id命令)

cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys"

在這里插入圖片描述

測試SSH連接

ssh username@remote_host

如果配置正確,應該可以直接登錄而不需要輸入密碼。

在這里插入圖片描述

使用SCP免密傳輸文件

現在可以使用SCP命令而不需要輸入密碼:

# 上傳文件到遠程服務器
scp local_file username@remote_host:remote_directory# 從遠程服務器下載文件
scp username@remote_host:remote_file local_directory

在這里插入圖片描述

可選配置

  1. ~/.ssh/config中配置別名
    編輯或創建~/.ssh/config文件(可配置多個連接):
Host myserver1HostName remote_hostUser username  # 連接的用戶賬號IdentityFile ~/.ssh/id_rsa # 本機的私鑰
Host myserver2HostName remote_host·User username1Port 22 # 默認是22,如果不是需要配置Port參數IdentityFile ~/.ssh/other_id_rsa # 附件

然后可以使用簡化的命令:

scp local_file myserver:remote_directory

在這里插入圖片描述

  1. 禁用遠程服務器的密碼認證(增強安全性)
    在遠程服務器的/etc/ssh/sshd_config中設置:
PasswordAuthentication no

然后重啟SSH服務:

sudo systemctl restart sshd

帶密碼的秘鑰連接處理

使用 ssh-agent進行緩存管理(該方式只能確保同一個回話中,多次傳輸只輸一次密碼)

如果你想避免每次都輸入密鑰的密碼,你可以使用 ssh-agent 來緩存密鑰的密碼。這樣,你只需要在第一次使用時輸入密碼,之后 ssh-agent 會自動處理密碼。

使用 ssh-agent 來緩存密鑰密碼:

  • 啟動 ssh-agent

在命令行中執行以下命令來啟動 ssh-agent:

eval "$(ssh-agent -s)"

該命令會啟動 ssh-agent 進程并設置一些環境變量。

  • 添加私鑰到 ssh-agent

使用 ssh-add 命令將你的私鑰添加到 ssh-agen。如果你使用的是 id_ed25519 作為私鑰,可以執行:

ssh-add ~/.ssh/id_ed25519

然后,它會提示你輸入密鑰的密碼一次。輸入后,ssh-agent 會記住這個密碼,并在你之后使用密鑰時自動提供。

  • 驗證是否成功:

你可以通過以下命令確認密鑰是否已經被加載到ssh-agent

ssh-add -l

如果成功,你應該看到已加載的密鑰信息。

  • 使用 ssh-agent 配合 ssh-copy-id:
    如果你已經將密鑰添加到 ssh-agent 中,那么在以后使用 ssh 或 ssh-copy-id 連接遠程服務器時,就不需要再次輸入密鑰密碼了。

在這里插入圖片描述

  • 自動啟動 ssh-agent(可選):
    為了避免每次打開終端時手動啟動 ssh-agent,你可以將啟動命令添加到你的 shell 配置文件中(例如 .bashrc 或 .zshrc)。
# Add this to ~/.bashrc or ~/.zshrc
eval "$(ssh-agent -s)"

然后,重新加載配置文件:

source ~/.bashrc  # 或者 source ~/.zshrc

使用 keychain(長期緩存 passphrase

keychain 可以跨終端會話緩存 passphrase,適合長期免密登錄。

  • 安裝 keychain
sudo apt install keychain  # Debian/Ubuntu
sudo yum install keychain  # CentOS/RHEL
  • 配置 ~/.bashrc ~/.zshrc
eval "$(keychain --eval --agents ssh id_ed25519)"

下次登錄時會要求輸入一次 passphrase,之后所有終端會話均可免密使用。
在這里插入圖片描述

注意事項

  • 確保遠程服務器的.ssh目錄權限為700authorized_keys文件權限為600

  • 如果使用非標準SSH端口,SCP命令需要指定端口:scp -P port_number ...

  • 出于安全考慮,生產環境中建議為密鑰設置密碼短語,然后使用ssh-agent管理密鑰

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

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

相關文章

數字電子技術基礎(三十六)——利用Multisim軟件實現3線-8線譯碼器

目錄 1 手動方式實現3線-8線譯碼器 2 使用字選擇器實現3線-8線譯碼器 現在嘗試利用Multisim軟件來實現3線-8線譯碼器。本實驗目的是驗證74LS138的基本功能,簡單來說就是“N中選1”。 實驗設計: (1)使能信號:時&am…

wait和notify : 避免線程餓死(以及votile內存可見性和指令重排序問題)

各位看官,大家早安午安晚安呀~~~ 如果您覺得這篇文章對您有幫助的話 歡迎您一鍵三連,小編盡全力做到更好 歡迎您分享給更多人哦 今天我們來學習:wait和notify : 避免線程餓死(以及votile內存可見性和指令重排序問題) …

HarmonyOS 介紹

HarmonyOS簡介 隨著萬物互聯時代的開啟,應用的設備底座將從幾十億手機擴展到數百億IoT設備。全新的全場景設備體驗,正深入改變消費者的使用習慣。 同時應用開發者也面臨設備底座從手機單設備到全場景多設備的轉變,全場景多設備的全新底座&am…

【視覺提示學習】3.28閱讀隨想

2109.01134 CoOp通過可學習的向量來建模提示的上下文詞匯,這些向量可以用隨機值或預訓練的詞嵌入進行初始化(見圖2)。我們提供了兩種實現方式,以處理不同性質的任務:一種是基于統一上下文(unified context…

計算機求職面試中高頻出現的經典題目分類整理

以下為計算機求職面試中高頻出現的經典題目分類整理,涵蓋技術核心與深度考察方向,答案要點已附解析思路: 一、數據結構與算法 鏈表操作 題目:反轉鏈表(迭代/遞歸實現)考察點:指針操作、遞歸思維…

uniapp選擇文件使用formData格式提交數據

1. Vue實現 在vue項目中,我們有個文件,和一些其他字段數據需要提交的時候,我們都是使用axios 設置請求頭中的Content-Type: multipart/form-data,然后new FormData的方式來進行提交。方式如下: const sendRequest = () => {const formData = new FormData()formData…

BeanDefinition和Beanfactory實現一個簡單的bean容器

目錄 什么是 Springbean 容器 設計思路 圖解 參考文章 開源地址 BeanDefinition 類 BeanFactory 類 測試類 什么是 Springbean 容器 Spring 包含并管理應用對象的配置和生命周期,在這個意義上它是一種用于承載對象的容器,你可以配置你的每個 Bea…

AI Agent開發大全第十四課-零售智能導購智能體的RAG開發理論部分

開篇 經過前面的一些課程,我們手上已經積累了各種LLM的API調用、向量庫的建立和使用、embedding算法的意義和基本使用。 這已經為我們具備了開發一個基本的問答類RAG的開發必需要素了。下面我們會來講一個基本問答類場景的RAG,零售中的“智能導購”場景。 智能導購 大家先…

向字符串添加空格

給你一個下標從 0 開始的字符串 s ,以及一個下標從 0 開始的整數數組 spaces 。 數組 spaces 描述原字符串中需要添加空格的下標。每個空格都應該插入到給定索引處的字符值 之前 。 例如,s "EnjoyYourCoffee" 且 spaces [5, 9] &#xff0…

百人會上的蔚小理與「來的剛剛好」的雷軍

這就是2025百人會上的蔚小理,努力的李斌、宣揚飛行汽車的何小鵬與大講開源的李想。那么小米汽車的模式是什么呢?站在蔚小理的肩上。 這就是2025百人會上的蔚小理,努力的李斌、宣揚飛行汽車的何小鵬與大講開源的李想。那么小米汽車的模式是什么…

解鎖Nginx路由器匹配規則

引言 Nginx 無疑是一款備受矚目的明星產品。它以其高性能、高可靠性以及出色的并發處理能力,在眾多 Web 服務器和反向代理服務器中脫穎而出 ,廣泛應用于各類網站和應用程序中。據統計,超過 30% 的網站都在使用 Nginx 作為其 Web 服務器&…

傳統策略梯度方法的弊端與PPO的改進:穩定性與樣本效率的提升

為什么傳統策略梯度方法(如REINFORCE算法)在訓練過程中存在不穩定性和樣本效率低下的問題 1. 傳統策略梯度方法的基本公式 傳統策略梯度方法的目標是最大化累積獎勵的期望值。具體來說,優化目標可以表示為: max ? θ J ( θ )…

Qwt入門

Qwt(Qt Widgets for Technical Applications)是一個用于科學、工程和技術應用的 Qt 控件庫,提供曲線圖、儀表盤、刻度尺等專業可視化組件。 1. 安裝與配置 1.1 安裝方式 源碼編譯(推薦): git clone https://github.com/qwt/qwt.git cd qwt qmake qwt.pro # 生成 Makef…

軟考《信息系統運行管理員》- 6.1 信息系統安全概述

信息系統安全的概念 信息系統安全是指保障計算機及其相關設備、設施(含網絡)的安全,運行環境的安全, 信息的安全,實現信息系統的正常運行。 信息系統安全包括實體安全、運行安全、信息安全和 人員安全等幾個部分。 影響信息系統安全的因素…

Canvas實現旋轉太極八卦圖

Canvas實現旋轉太極八卦圖 項目簡介 這是一個使用HTML5 Canvas技術實現的動態太極八卦圖,包含了旋轉動畫和鼠標交互功能。項目展示了中國傳統文化元素與現代Web技術的結合。 主要特點 動態旋轉的太極圖八卦符號的完整展示鼠標懸停暫停動畫流暢的動畫效果 技術實…

機器學習、深度學習和神經網絡

機器學習、深度學習和神經網絡 術語及相關概念 在深入了解人工智能(AI)的工作原理以及它的各種應用之前,讓我們先區分一下與AI密切相關的一些術語和概念:人工智能、機器學習、深度學習和神經網絡。這些術語有時會被交替使用&#…

打造高性能中文RAG系統:多輪對話與語義檢索的完美結合

目錄 1、引言 2、RAG系統的核心架構 3、對話理解:超越單輪問答 3.1、指代消解技術 3.2、話題跟蹤與記憶 4、混合檢索策略:兼顧精確與廣泛 4.1、向量檢索 關鍵詞檢索 4.2、重排序機制 5、性能優化:應對大規模文檔 5.1、向量量化技術…

人工智能助力數字化轉型:生成式人工智能(GAI)認證開啟新篇章

在數字化浪潮席卷全球的今天,企業正面臨著前所未有的轉型壓力與機遇。數字化轉型,這一曾經被視為“選擇題”的戰略議題,如今已演變為關乎企業生存與發展的“必答題”。在這場深刻的變革中,人工智能(AI)作為…

Windows 圖形顯示驅動開發-WDDM 2.4功能-GPU 半虛擬化(十二)

DxgkDdiQueryAdapterInfo 更新 DXGKARG_QUERYADAPTERINFO 結構已更新,以包括以下字段以支持半虛擬化: 添加了 Flags 成員,允許 Dxgkrnl 指示以下內容: 它將 VirtualMachineData 設置為指示調用來自 VM。它將 SecureVirtualMach…

iOS審核被拒:Missing privacy manifest 第三方庫添加隱私聲明文件

問題: iOS提交APP審核被拒,蘋果開發者網頁顯示二進制錯誤,收到的郵件顯示的詳細信息如下圖: 分析: 從上面信息能看出第三方SDK庫必須要包含一個隱私文件,去第三方庫更新版本。 幾經查詢資料得知,蘋果在…