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

Linux?服務(wù)器上配置基于SSH?密鑰的身份驗(yàn)證及使用方法

 更新時(shí)間:2024年04月29日 11:03:45   作者:白如意i  
SSH是一種加密協(xié)議,用于管理和與服務(wù)器通信,在使用?Linux?服務(wù)器時(shí),您經(jīng)常會(huì)花費(fèi)大量時(shí)間在通過(guò)?SSH?連接到服務(wù)器的終端會(huì)話中,這篇文章主要介紹了Linux?服務(wù)器上配置基于SSH?密鑰的身份驗(yàn)證及使用方法,需要的朋友可以參考下

介紹

SSH(Secure Shell)是一種加密協(xié)議,用于管理和與服務(wù)器通信。在使用 Linux 服務(wù)器時(shí),您經(jīng)常會(huì)花費(fèi)大量時(shí)間在通過(guò) SSH 連接到服務(wù)器的終端會(huì)話中。

雖然有幾種不同的登錄 SSH 服務(wù)器的方式,但在本指南中,我們將專注于設(shè)置 SSH 密鑰。SSH 密鑰提供了一種非常安全的登錄服務(wù)器的方式。因此,這是我們建議所有用戶使用的方法。

SSH 密鑰是如何工作的?

SSH 服務(wù)器可以使用各種不同的方法對(duì)客戶端進(jìn)行身份驗(yàn)證。其中最基本的是密碼身份驗(yàn)證,這種方法易于使用,但并不是最安全的。

盡管密碼以安全的方式發(fā)送到服務(wù)器,但它們通常不夠復(fù)雜或長(zhǎng)以抵御重復(fù)和持續(xù)的攻擊者。現(xiàn)代處理能力結(jié)合自動(dòng)化腳本使得破姐受密碼保護(hù)的帳戶成為可能。雖然還有其他方法可以增加額外的安全性(例如 fail2ban 等),但 SSH 密鑰被證明是一種可靠和安全的替代方法。

SSH 密鑰對(duì)是兩個(gè)密碼安全的密鑰,可用于對(duì)客戶端進(jìn)行 SSH 服務(wù)器身份驗(yàn)證。每個(gè)密鑰對(duì)包括一個(gè)公鑰和一個(gè)私鑰。

私鑰由客戶端保留,應(yīng)絕對(duì)保密。私鑰的任何泄露都將允許攻擊者在不需要額外身份驗(yàn)證的情況下登錄配置有相關(guān)公鑰的服務(wù)器。作為額外的預(yù)防措施,密鑰可以在磁盤上使用密碼短語(yǔ)進(jìn)行加密。

相關(guān)的公鑰可以自由共享,不會(huì)產(chǎn)生任何負(fù)面影響。公鑰可用于加密只有私鑰可以解密的消息。這一特性被用作使用密鑰對(duì)進(jìn)行身份驗(yàn)證的一種方式。

公鑰被上傳到您希望能夠通過(guò) SSH 登錄的遠(yuǎn)程服務(wù)器。該密鑰被添加到您將要登錄的用戶帳戶中的一個(gè)特殊文件中,稱為 ~/.ssh/authorized_keys。

當(dāng)客戶端嘗試使用 SSH 密鑰進(jìn)行身份驗(yàn)證時(shí),服務(wù)器可以測(cè)試客戶端是否擁有私鑰。如果客戶端能夠證明自己擁有私鑰,將會(huì)生成一個(gè) shell 會(huì)話或執(zhí)行請(qǐng)求的命令。

步驟 1 —— 創(chuàng)建 SSH 密鑰

配置 SSH 密鑰身份驗(yàn)證到您的服務(wù)器的第一步是在本地計(jì)算機(jī)上生成 SSH 密鑰對(duì)。

為此,我們可以使用一個(gè)名為 ssh-keygen 的特殊實(shí)用程序,它包含在標(biāo)準(zhǔn) OpenSSH 工具套件中。默認(rèn)情況下,這將創(chuàng)建一個(gè) 3072 位的 RSA 密鑰對(duì)。

在本地計(jì)算機(jī)上,通過(guò)輸入以下命令生成 SSH 密鑰對(duì):

[本地環(huán)境]
ssh-keygen
[本地環(huán)境]
生成公鑰/私鑰 rsa 密鑰對(duì)。
輸入要保存密鑰的文件(/home/username/.ssh/id_rsa):

該實(shí)用程序?qū)⑻崾灸x擇要生成的密鑰的位置。默認(rèn)情況下,密鑰將存儲(chǔ)在用戶主目錄中的 ~/.ssh 目錄中。私鑰將被稱為 id_rsa,相關(guān)的公鑰將被稱為 id_rsa.pub

通常,在這個(gè)階段最好使用默認(rèn)位置。這樣做將允許您的 SSH 客戶端在嘗試進(jìn)行身份驗(yàn)證時(shí)自動(dòng)找到您的 SSH 密鑰。如果您想選擇非標(biāo)準(zhǔn)路徑,請(qǐng)現(xiàn)在輸入該路徑,否則按 ENTER 接受默認(rèn)值。

如果您之前生成過(guò) SSH 密鑰對(duì),您可能會(huì)看到類似以下的提示:

[本地環(huán)境]
/home/username/.ssh/id_rsa 已經(jīng)存在。
覆蓋(y/n)?

如果選擇覆蓋磁盤上的密鑰,您將無(wú)法再使用先前的密鑰進(jìn)行身份驗(yàn)證。在選擇是時(shí)要非常小心,因?yàn)檫@是一個(gè)不可逆轉(zhuǎn)的破壞性過(guò)程。

[本地環(huán)境]
創(chuàng)建目錄 '/home/username/.ssh'。
輸入密碼短語(yǔ)(留空表示沒(méi)有密碼短語(yǔ)):
再次輸入密碼短語(yǔ):

接下來(lái),您將被提示為密鑰輸入密碼短語(yǔ)。這是一個(gè)可選的密碼短語(yǔ),可用于加密磁盤上的私鑰文件。

您可能會(huì)想知道,如果您仍然需要輸入密碼短語(yǔ),SSH 密鑰提供了哪些優(yōu)勢(shì)。其中一些優(yōu)勢(shì)包括:

  • 私有 SSH 密鑰(可以受密碼短語(yǔ)保護(hù)的部分)永遠(yuǎn)不會(huì)在網(wǎng)絡(luò)上暴露。密碼短語(yǔ)僅用于在本地機(jī)器上解密密鑰。這意味著網(wǎng)絡(luò)基礎(chǔ)的破姐將無(wú)法針對(duì)密碼短語(yǔ)進(jìn)行。
  • 私鑰保存在受限制的目錄中。SSH 客戶端將不會(huì)識(shí)別未保存在受限制目錄中的私鑰。密鑰本身也必須具有受限制的權(quán)限(僅對(duì)所有者可用的讀和寫權(quán)限)。這意味著系統(tǒng)上的其他用戶無(wú)法窺視。
  • 任何希望破解私有 SSH 密鑰密碼短語(yǔ)的攻擊者必須已經(jīng)訪問(wèn)系統(tǒng)。這意味著他們已經(jīng)可以訪問(wèn)您的用戶帳戶或 root 帳戶。如果您處于這種位置,密碼短語(yǔ)可以防止攻擊者立即登錄到您的其他服務(wù)器。這將希望給您時(shí)間創(chuàng)建和實(shí)施新的 SSH 密鑰對(duì),并從受損的密鑰中刪除訪問(wèn)權(quán)限。

由于私鑰永遠(yuǎn)不會(huì)暴露在網(wǎng)絡(luò)上,并且通過(guò)文件權(quán)限進(jìn)行保護(hù),因此該文件永遠(yuǎn)不應(yīng)該對(duì)除您(和root用戶)以外的任何人可訪問(wèn)。密碼短語(yǔ)作為一個(gè)額外的保護(hù)層,以防這些條件被破壞。

密碼短語(yǔ)是一個(gè)可選的附加項(xiàng)。如果輸入密碼短語(yǔ),您將需要在每次使用該密鑰時(shí)提供它(除非您正在運(yùn)行存儲(chǔ)解密密鑰的 SSH 代理軟件)。我們建議使用密碼短語(yǔ),但如果您不想設(shè)置密碼短語(yǔ),可以按 ENTER 跳過(guò)此提示。

[本地環(huán)境]
您的標(biāo)識(shí)已保存在 /home/username/.ssh/id_rsa。
您的公鑰已保存在 /home/username/.ssh/id_rsa.pub。
密鑰指紋為:
SHA256:CAjsV9M/tt5skazroTc1ZRGCBz+kGtYUIPhRvvZJYBs username@hostname
密鑰的隨機(jī)藝術(shù)圖像為:
+---[RSA 3072]----+
|o   ..oo.++o ..  |
| o o +o.o.+...   |
|. . + oE.o.o  .  |
| . . oo.B+  .o   |
|  .   .=S.+ +    |
|      . o..*     |
|        .+= o    |
|        .=.+     |
|       .oo+      |
+----[SHA256]-----+

現(xiàn)在您有了可以用于身份驗(yàn)證的公鑰和私鑰。下一步是將公鑰放在您的服務(wù)器上,以便您可以使用 SSH 密鑰身份驗(yàn)證登錄。

步驟 2 —— 將 SSH 公鑰復(fù)制到您的服務(wù)器

有多種方法可以將您的公鑰上傳到遠(yuǎn)程 SSH 服務(wù)器。您使用的方法在很大程度上取決于您可用的工具和當(dāng)前配置的細(xì)節(jié)。

以下方法都會(huì)產(chǎn)生相同的最終結(jié)果。最簡(jiǎn)單、最自動(dòng)化的方法首先描述,其后的方法都需要額外的手動(dòng)步驟。如果可以使用前面的方法,則應(yīng)該遵循這些方法。

使用 ssh-copy-id 復(fù)制您的公鑰

將公鑰復(fù)制到現(xiàn)有服務(wù)器的最簡(jiǎn)單方法是使用一個(gè)名為 ssh-copy-id 的實(shí)用程序。由于其簡(jiǎn)單性,如果可用,建議使用此方法。

ssh-copy-id 工具包含在許多發(fā)行版的 OpenSSH 軟件包中,因此您的本地系統(tǒng)上可能已經(jīng)有它。為使此方法工作,您必須當(dāng)前具有基于密碼的 SSH 訪問(wèn)權(quán)限到您的服務(wù)器。

要使用此實(shí)用程序,您需要指定您想要連接到的遠(yuǎn)程主機(jī)和您具有基于密碼的 SSH 訪問(wèn)權(quán)限的用戶帳戶。這是您的公共 SSH 密鑰將被復(fù)制的帳戶。

語(yǔ)法是:

[本地環(huán)境]
ssh-copy-id username@remote_host

您可能會(huì)看到類似以下的消息:

[本地環(huán)境]
The authenticity of host '203.0.113.1 (203.0.113.1)' can't be established.
ECDSA key fingerprint is fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe.
Are you sure you want to continue connecting (yes/no)? yes

這意味著您的本地計(jì)算機(jī)不認(rèn)識(shí)遠(yuǎn)程主機(jī)。這將在您第一次連接到新主機(jī)時(shí)發(fā)生。輸入 yes 并按 ENTER 繼續(xù)。

接下來(lái),該實(shí)用程序?qū)呙枘谋镜貛粢圆檎椅覀冎皠?chuàng)建的 id_rsa.pub 密鑰。當(dāng)它找到密鑰時(shí),它將提示您輸入遠(yuǎn)程用戶帳戶的密碼:

[本地環(huán)境]
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
username@203.0.113.1's password:

輸入密碼(出于安全目的,您的輸入不會(huì)顯示)并按 ENTER。該實(shí)用程序?qū)⑹褂媚峁┑拿艽a連接到遠(yuǎn)程主機(jī)上的帳戶。然后,它將把您的 ~/.ssh/id_rsa.pub 密鑰內(nèi)容復(fù)制到遠(yuǎn)程帳戶的主目錄 ~/.ssh 中名為 authorized_keys 的文件中。

您將看到以下輸出:

[本地環(huán)境]
Number of key(s) added: 1

Now try logging into the machine, with:   "ssh 'username@203.0.113.1'"
and check to make sure that only the key(s) you wanted were added.

此時(shí),您的 id_rsa.pub 密鑰已上傳到遠(yuǎn)程帳戶。您可以繼續(xù)下一節(jié)。

使用 SSH 復(fù)制您的公鑰

如果您沒(méi)有 ssh-copy-id,但是您具有基于密碼的 SSH 訪問(wèn)權(quán)限到服務(wù)器上的某個(gè)帳戶,您可以使用傳統(tǒng)的 SSH 方法上傳您的密鑰。

我們可以通過(guò)在本地計(jì)算機(jī)上輸出我們的公共 SSH 密鑰的內(nèi)容,并通過(guò) SSH 連接將其傳輸?shù)竭h(yuǎn)程服務(wù)器。在另一端,我們可以確保我們正在使用的帳戶下存在 ~/.ssh 目錄,然后將我們傳輸?shù)膬?nèi)容輸出到此目錄中名為 authorized_keys 的文件中。

我們將使用 >> 重定向符號(hào)來(lái)追加內(nèi)容而不是覆蓋它。這將允許我們添加密鑰而不破壞先前添加的密鑰。

完整命令如下:

[本地環(huán)境]
cat ~/.ssh/id_rsa.pub | ssh username@remote_host "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

您可能會(huì)看到類似以下的消息:

[本地環(huán)境]
The authenticity of host '203.0.113.1 (203.0.113.1)' can't be established.
ECDSA key fingerprint is fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe.
Are you sure you want to continue connecting (yes/no)? yes

這意味著您的本地計(jì)算機(jī)不認(rèn)識(shí)遠(yuǎn)程主機(jī)。這將在您第一次連接到新主機(jī)時(shí)發(fā)生。輸入 yes 并按 ENTER 繼續(xù)。

之后,您將被提示輸入您嘗試連接的帳戶的密碼:

[本地環(huán)境]
username@203.0.113.1's password:

輸入密碼后,您的 id_rsa.pub 密鑰內(nèi)容將被復(fù)制到遠(yuǎn)程用戶帳戶的 authorized_keys 文件的末尾。如果成功,繼續(xù)下一節(jié)。

手動(dòng)復(fù)制公鑰

如果您的服務(wù)器沒(méi)有基于密碼的 SSH 訪問(wèn)權(quán)限,您將不得不手動(dòng)執(zhí)行上述過(guò)程。

您的 id_rsa.pub 文件的內(nèi)容將需要以某種方式添加到遠(yuǎn)程機(jī)器上的 ~/.ssh/authorized_keys 文件中。

要顯示 id_rsa.pub 密鑰的內(nèi)容,請(qǐng)?jiān)诒镜赜?jì)算機(jī)上輸入以下命令:

[本地環(huán)境]
cat ~/.ssh/id_rsa.pub

您將看到密鑰的內(nèi)容,可能類似于以下內(nèi)容:

[本地環(huán)境]
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCqql6MzstZYh1TmWWv11q5O3pISj2ZFl9HgH1JLknLLx44+tXfJ7mIrKNxOOwxIxvcBF8PXSYvobFYEZjGIVCEAjrUzLiIxbyCoxVyle7Q+bqgZ8SeeM8wzytsY+dVGcBxF6N4JS+zVk5eMcV385gG3Y6ON3EG112n6d+SMXY0OEBIcO6x+PnUSGHrSgpBgX7Ks1r7xqFa7heJLLt2wWwkARptX7udSq05paBhcpB0pHtA1Rfz3K2B+ZVIpSDfki9UVKzT8JUmwW6NNzSgxUfQHGwnW7kj4jp4AT0VZk3ADw497M2G/12N0PPB5CnhHf7ovgy6nL1ikrygTKRFmNZISvAcywB9GVqNAVE+ZHDSCuURNsAInVzgYo9xgJDW8wUw2o8U77+xiFxgI5QSZX3Iq7YLMgeksaO4rBJEa54k8m5wEiEE1nUhLuJ0X/vh2xPff6SQ1BL/zkOhvJCACK6Vb15mDOeCSq54Cr7kvS46itMosi/uS66+PujOO+xt/2FWYepz6ZlN70bRly57Q06J+ZJoc9FfBCbCyYH7U/ASsmY095ywPsBo1XQ9PqhnN1/YOorJ068foQDNVpm146mUpILVxmq41Cj55YKHEazXGsdBIbXWhcrRf4G2fJLRcGUr9q8/lERo9oxRm5JFX6TCmj6kmiFqv+Ow9gI0x8GvaQ== username@hostname

使用您可用的任何方法訪問(wèn)遠(yuǎn)程主機(jī)。這可能是您的基礎(chǔ)設(shè)施提供商提供的基于 Web 的控制臺(tái)。

一旦您可以訪問(wèn)遠(yuǎn)程服務(wù)器上的帳戶,您應(yīng)該確保 ~/.ssh 目錄已創(chuàng)建。如果需要,此命令將創(chuàng)建該目錄,如果已存在則不執(zhí)行任何操作:

mkdir -p ~/.ssh

現(xiàn)在,您可以在該目錄中創(chuàng)建或修改 authorized_keys 文件。您可以將 id_rsa.pub 文件的內(nèi)容添加到 authorized_keys 文件的末尾,如果需要的話,可以使用以下命令創(chuàng)建它:

echo public_key_string >> ~/.ssh/authorized_keys

在上述命令中,將 public_key_string 替換為您在本地系統(tǒng)上執(zhí)行 cat ~/.ssh/id_rsa.pub 命令的輸出。它應(yīng)該以 ssh-rsa AAAA... 或類似的內(nèi)容開(kāi)頭。

如果這樣操作成功,您可以繼續(xù)測(cè)試您的新基于密鑰的 SSH 認(rèn)證。

步驟 3 — 使用 SSH 密鑰進(jìn)行身份驗(yàn)證

如果您已成功完成上述任一過(guò)程,您應(yīng)該能夠 無(wú)需 使用遠(yuǎn)程帳戶的密碼登錄到遠(yuǎn)程主機(jī)。

該過(guò)程基本上是相同的:

[本地環(huán)境]
ssh username@remote_host

如果這是您第一次連接到此主機(jī)(如果您使用了上述最后一種方法),您可能會(huì)看到類似以下內(nèi)容:

[本地環(huán)境]
The authenticity of host '203.0.113.1 (203.0.113.1)' can't be established.
ECDSA key fingerprint is fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe.
Are you sure you want to continue connecting (yes/no)? yes

這意味著您的本地計(jì)算機(jī)不認(rèn)識(shí)遠(yuǎn)程主機(jī)。輸入 yes 然后按 ENTER 繼續(xù)。

如果您沒(méi)有為私鑰提供密碼,您將立即登錄。如果您在創(chuàng)建密鑰時(shí)為私鑰提供了密碼,您現(xiàn)在需要輸入它。之后,將為您在遠(yuǎn)程系統(tǒng)上的帳戶創(chuàng)建一個(gè)新的 shell 會(huì)話。

如果成功,繼續(xù)了解如何鎖定服務(wù)器。

步驟 4 — 在服務(wù)器上禁用密碼身份驗(yàn)證

如果你能夠使用 SSH 無(wú)需密碼登錄到你的賬戶,那么你已經(jīng)成功地為你的賬戶配置了基于 SSH 密鑰的身份驗(yàn)證。然而,你的基于密碼的身份驗(yàn)證機(jī)制仍然是激活狀態(tài),這意味著你的服務(wù)器仍然容易受到破姐攻擊。

在完成本節(jié)中的步驟之前,請(qǐng)確保你的服務(wù)器上要么已經(jīng)為 root 賬戶配置了基于 SSH 密鑰的身份驗(yàn)證,或者更好的是,你已經(jīng)為服務(wù)器上具有 sudo 權(quán)限的賬戶配置了基于 SSH 密鑰的身份驗(yàn)證。這一步將禁用基于密碼的登錄,因此確保你仍然能夠獲得管理員訪問(wèn)權(quán)限是至關(guān)重要的。

一旦上述條件為真,請(qǐng)使用 SSH 密鑰登錄到遠(yuǎn)程服務(wù)器,可以是 root 用戶,也可以是具有 sudo 權(quán)限的賬戶。打開(kāi) SSH 守護(hù)程序的配置文件:

sudo nano /etc/ssh/sshd_config

在文件中,搜索一個(gè)名為 PasswordAuthentication 的指令。這可能是被注釋掉的。通過(guò)刪除行首的任何 # 號(hào)來(lái)取消注釋,并將值設(shè)置為 no 來(lái)啟用該選項(xiàng),這將禁用使用賬戶密碼通過(guò) SSH 登錄的功能:

PasswordAuthentication no

完成后保存并關(guān)閉文件。要實(shí)際實(shí)施我們剛剛做的更改,你必須重新啟動(dòng)服務(wù)。

在大多數(shù) Linux 發(fā)行版上,你可以使用以下命令來(lái)執(zhí)行:

sudo systemctl restart ssh

完成這一步后,你已成功將你的 SSH 守護(hù)程序轉(zhuǎn)換為只響應(yīng) SSH 密鑰。

結(jié)論

現(xiàn)在你應(yīng)該已經(jīng)在服務(wù)器上配置并運(yùn)行了基于 SSH 密鑰的身份驗(yàn)證,允許你在不提供賬戶密碼的情況下登錄。從這里開(kāi)始,你可以朝著許多方向前進(jìn)。如果你想了解更多關(guān)于使用 SSH 的內(nèi)容,請(qǐng)查看我們的 SSH 基礎(chǔ)指南。

到此這篇關(guān)于如何在 Linux 服務(wù)器上配置基于 SSH 密鑰的身份驗(yàn)證的文章就介紹到這了,更多相關(guān)Linux SSH身份驗(yàn)證內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論