買網(wǎng)站需要注意什么游戲推廣員怎么做
需求描述:我想配置本地機(jī)器到ssh遠(yuǎn)程服務(wù)器的免密碼連接,注意我日常會使用的集群有多個(gè)節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)的用戶名以及密碼都是一樣的,但是不同節(jié)點(diǎn)的用戶目錄下的數(shù)據(jù)并不互通。
方案:
配置本地機(jī)器到 SSH 遠(yuǎn)程服務(wù)器的免密碼連接,可以通過 SSH 密鑰認(rèn)證來實(shí)現(xiàn)。以下是詳細(xì)的步驟:
1. 生成 SSH 密鑰對
在本地機(jī)器上,生成一對 SSH 密鑰(公鑰和私鑰)。如果你已經(jīng)有一對密鑰,可以跳過這一步。如果沒有,可以使用以下命令生成:
ssh-keygen -t rsa -b 4096
-
-t rsa
表示使用 RSA 算法。 -
-b 4096
表示密鑰長度為 4096 位,更安全。
運(yùn)行該命令后,系統(tǒng)會提示你輸入密鑰保存的位置(默認(rèn)是 ~/.ssh/id_rsa
)和密鑰的密碼(passphrase)。如果你希望完全免密碼登錄,可以不輸入密碼,直接按回車跳過。
2. 將公鑰復(fù)制到遠(yuǎn)程服務(wù)器
使用 ssh-copy-id
命令將本地生成的公鑰復(fù)制到遠(yuǎn)程服務(wù)器的 ~/.ssh/authorized_keys
文件中。假設(shè)遠(yuǎn)程服務(wù)器的用戶名是 your_username
,節(jié)點(diǎn)的 IP 地址是 node1
,你可以運(yùn)行以下命令:
ssh-copy-id your_username@node1
如果服務(wù)器沒有安裝 ssh-copy-id
,你可以手動復(fù)制公鑰。步驟如下:
-
打開本地公鑰文件(默認(rèn)路徑為
~/.ssh/id_rsa.pub
):cat ~/.ssh/id_rsa.pub
-
將公鑰內(nèi)容復(fù)制到遠(yuǎn)程服務(wù)器的
~/.ssh/authorized_keys
文件中:ssh your_username@node1 "mkdir -p ~/.ssh && echo 'PASTE_PUBLIC_KEY_HERE' >> ~/.ssh/authorized_keys"
其中
PASTE_PUBLIC_KEY_HERE
是你從本地公鑰文件中復(fù)制的內(nèi)容。
3. 配置多個(gè)節(jié)點(diǎn)
由于你提到集群有多個(gè)節(jié)點(diǎn),且每個(gè)節(jié)點(diǎn)的用戶名和密碼相同,但用戶目錄下的數(shù)據(jù)不互通,你需要對每個(gè)節(jié)點(diǎn)重復(fù)上述步驟。
例如,如果你有三個(gè)節(jié)點(diǎn),IP 地址分別為 node1
、node2
和 node3
,你需要分別運(yùn)行:
ssh-copy-id your_username@node1
ssh-copy-id your_username@node2
ssh-copy-id your_username@node3
或者手動復(fù)制公鑰到每個(gè)節(jié)點(diǎn)的 ~/.ssh/authorized_keys
文件中。
4. 檢查和測試
完成上述步驟后,嘗試從本地機(jī)器免密碼登錄到遠(yuǎn)程節(jié)點(diǎn):
ssh your_username@node1
ssh your_username@node2
ssh your_username@node3
如果一切配置正確,你應(yīng)該能夠直接登錄,而無需輸入密碼。
5. 可選:配置 SSH 配置文件
如果你經(jīng)常需要連接多個(gè)節(jié)點(diǎn),可以通過本地的 SSH 配置文件(~/.ssh/config
)來簡化命令。例如:
Host node1HostName node1User your_usernameHost node2HostName node2User your_usernameHost node3HostName node3User your_username
這樣,你可以直接使用簡化的命令登錄:
ssh node1
ssh node2
ssh node3
注意事項(xiàng)
-
權(quán)限問題:
-
確保遠(yuǎn)程服務(wù)器的
~/.ssh
目錄權(quán)限是700
(drwx------
)。 -
確保
~/.ssh/authorized_keys
文件的權(quán)限是600
(-rw-------
)。 -
如果權(quán)限不正確,即使配置了公鑰,也可能無法登錄。
-
-
服務(wù)器配置:
-
確保遠(yuǎn)程服務(wù)器的 SSH 配置文件
/etc/ssh/sshd_config
中允許密鑰認(rèn)證:-
PubkeyAuthentication yes
-
AuthorizedKeysFile .ssh/authorized_keys
-
PasswordAuthentication no
(可選,但更安全)
-
-
修改配置后,需要重啟 SSH 服務(wù):
sudo systemctl restart sshd
-
-
安全性:
-
如果你沒有為私鑰設(shè)置密碼(passphrase),請確保私鑰文件的安全性,不要泄露給他人。
-