欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Linux多臺(tái)服務(wù)器之間免密登錄的實(shí)現(xiàn)步驟

 更新時(shí)間:2025年04月20日 10:21:41   作者:李博帥  
在日常的后端開發(fā)和運(yùn)維工作中,我們經(jīng)常需要頻繁登錄不同的服務(wù)器進(jìn)行部署、排查問題或上傳文件,傳統(tǒng)的基于用戶名和密碼的登錄方式既不安全又不高效,為此,我們可以利用 SSH 公鑰認(rèn)證的方式,實(shí)現(xiàn)無密碼(免密)登錄遠(yuǎn)程服務(wù)器,下面小編給大家詳細(xì)說說

引言

在日常的后端開發(fā)和運(yùn)維工作中,我們經(jīng)常需要頻繁登錄不同的服務(wù)器進(jìn)行部署、排查問題或上傳文件。傳統(tǒng)的基于用戶名和密碼的登錄方式既不安全又不高效。為此,我們可以利用 SSH 公鑰認(rèn)證的方式,實(shí)現(xiàn)無密碼(免密)登錄遠(yuǎn)程服務(wù)器,提升安全性與操作效率。

本文將一步步帶你完成 SSH 公鑰創(chuàng)建及遠(yuǎn)程服務(wù)器配置,實(shí)現(xiàn) SSH 免密登錄機(jī)群。

SSH 公鑰認(rèn)證簡(jiǎn)介

SSH(Secure Shell)支持多種認(rèn)證方式,其中公鑰認(rèn)證使用非對(duì)稱加密(如 RSA、ECDSA、ED25519)機(jī)制,客戶端通過私鑰發(fā)起認(rèn)證請(qǐng)求,遠(yuǎn)程服務(wù)器用已保存的公鑰進(jìn)行驗(yàn)證。它的優(yōu)勢(shì)為:

  • 更高的安全性:避免密碼泄露或暴力 破解
  • 更好的自動(dòng)化支持:適用于腳本、CI/CD 流程中免交互登錄
  • 更高效的運(yùn)維體驗(yàn):無需每次連接服務(wù)器都輸入密碼

生成 SSH 密鑰對(duì)

打開終端,輸入以下命令即可:

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

參數(shù)說明:

  • -t rsa:指定密鑰類型為 RSA;
  • -b 4096:密鑰長(zhǎng)度,建議使用 4096 位,增強(qiáng)安全性;
  • -C:用于加一個(gè)標(biāo)識(shí)注釋,通常填寫你的郵箱或用途說明。

執(zhí)行后會(huì)提示:

Enter file in which to save the key (/home/youruser/.ssh/id_rsa):

你可以直接回車,默認(rèn)保存在 ~/.ssh/id_rsa(私鑰)和 ~/.ssh/id_rsa.pub(公鑰)文件中。

接下來是:

Enter passphrase (empty for no passphrase): 
Enter same passphrase again:

為了增強(qiáng)安全性,建議設(shè)置私鑰密碼。如果是腳本或自動(dòng)化環(huán)境中使用,可空密碼,但需慎重評(píng)估風(fēng)險(xiǎn)。

將公鑰添加到遠(yuǎn)程主機(jī)(server)

使用 ssh-copy-id 命令輕松將本地公鑰寫入遠(yuǎn)程服務(wù)器的 ~/.ssh/authorized_keys 文件中。

格式如下:

ssh-copy-id -i ~/.ssh/id_rsa.pub 用戶名@服務(wù)器IP

示例:

ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop@192.168.0.1

系統(tǒng)會(huì)提示輸入該服務(wù)器的登錄密碼,認(rèn)證成功后即可完成綁定。

如果該命令提示找不到 ssh-copy-id,可使用以下命令手動(dòng)復(fù)制:

cat ~/.ssh/id_rsa.pub | ssh 用戶名@遠(yuǎn)程IP "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"

測(cè)試是否免密登錄成功

公鑰拷貝完成后,使用 ssh 命令連接遠(yuǎn)程服務(wù)器:

ssh hadoop@192.168.0.1

如無意外,將直接登錄進(jìn)入遠(yuǎn)程主機(jī),不再需要輸入密碼,即可完成免密登錄驗(yàn)證。

適用于多個(gè)目標(biāo)主機(jī)(批量推送)

如果你需要將公鑰推送至多臺(tái)服務(wù)器,比如用于機(jī)器學(xué)習(xí)分布式訓(xùn)練、Hadoop/Spark 集群部署,可使用 shell 腳本進(jìn)行批量操作。例如:

#!/bin/bash

USER="hadoop"
HOSTS=("192.168.0.1" "192.168.0.2" "192.168.0.3")

for HOST in "${HOSTS[@]}"; do
    echo "Copying SSH key to $USER@$HOST"
    ssh-copy-id -i ~/.ssh/id_rsa.pub "$USER@$HOST"
done

根據(jù)實(shí)際配置調(diào)整用戶名或主機(jī)列表。

安全建議

  • 私鑰文件建議設(shè)置為 600 權(quán)限,僅允許用戶本人讀寫:

chmod 600 ~/.ssh/id_rsa
  • 禁止將私鑰隨意上傳到遠(yuǎn)程服務(wù)器,或在代碼倉(cāng)庫(kù)存儲(chǔ)私鑰;

  • 為私鑰加密短語(passphrase),在安全與自動(dòng)化之間尋求平衡;

  • 若同一機(jī)器需連接多個(gè)遠(yuǎn)端主機(jī),可以為每個(gè)主機(jī)使用配置文件(~/.ssh/config)統(tǒng)一管理多個(gè)密鑰與主機(jī)別名,提高可維護(hù)性。

示例 ~/.ssh/config:

Host server1
    HostName 192.168.0.1
    User hadoop
    IdentityFile ~/.ssh/id_rsa

Host server2
    HostName 192.168.0.2
    User hadoop
    IdentityFile ~/.ssh/id_rsa

使用時(shí)無需填寫完整命令:

ssh server1

小結(jié)

通過以上步驟,你就可以輕松地為自己的開發(fā)、部署流程實(shí)現(xiàn)高效的免密登錄。無論是單機(jī)還是集群環(huán)境,該技巧都能極大地提升工作效率并加強(qiáng)安全性。建議將這項(xiàng)操作作為開發(fā)者或運(yùn)維人員的必備基礎(chǔ)技能。

如果你想在 CI/CD、Git 提交或遠(yuǎn)程 API 自動(dòng)化中實(shí)現(xiàn)安全連接,也可以基于 SSH 做更深入的免密自動(dòng)化處理。

以上就是Linux多臺(tái)服務(wù)器之間免密登錄的實(shí)現(xiàn)步驟的詳細(xì)內(nèi)容,更多關(guān)于Linux服務(wù)器間免密登錄的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評(píng)論