簡(jiǎn)介
SSH(Secure Shell)是一種加密網(wǎng)絡(luò)協(xié)議,用于在不安全的網(wǎng)絡(luò)中安全地傳輸數(shù)據(jù)。它可以提供遠(yuǎn)程登錄和文件傳輸?shù)裙δ堋T?Linux 系統(tǒng)中,常用的 SSH 客戶端是 OpenSSH,它可以通過命令行界面連接到遠(yuǎn)程主機(jī),并在遠(yuǎn)程主機(jī)上執(zhí)行命令。同時(shí),OpenSSH 還提供了 scp 命令,用于在本地主機(jī)和遠(yuǎn)程主機(jī)之間傳輸文件。
安裝
一般系統(tǒng)會(huì)自帶ssh,不需要安裝,systemclt status sshd
# centos發(fā)行版上安裝 SSH
yum install openssh-server
# 要在 Ubuntu、Debian 或其他基于 Debian 的發(fā)行版上安裝 SSH
apt install openssh-server
配置路徑
SSH 的配置文件通常位于 /etc/ssh/sshd_config(SSH 服務(wù)器配置文件)和 ~/.ssh/config(SSH 客戶端配置文件)
常用配置項(xiàng)
- Port:指定SSH服務(wù)監(jiān)聽的端口,默認(rèn)為22??梢酝ㄟ^修改此項(xiàng)增加安全性,使用非默認(rèn)端口。
- ListenAddress:指定SSH服務(wù)監(jiān)聽的網(wǎng)絡(luò)地址。默認(rèn)為0.0.0.0,表示監(jiān)聽所有網(wǎng)絡(luò)接口。
- Protocol:指定使用的SSH協(xié)議版本。默認(rèn)為2,可以設(shè)置為1或2。一般建議使用協(xié)議版本2。
- PermitRootLogin:允許或禁止root用戶直接登錄。建議禁止直接使用root登錄,而使用其他普通用戶登錄后再切換為root。
- PasswordAuthentication:允許或禁止使用密碼進(jìn)行身份驗(yàn)證。建議禁止密碼登錄,使用SSH密鑰進(jìn)行更安全的身份驗(yàn)證。
-
RSAAuthentication
:啟用或禁用使用RSA算法進(jìn)行用戶身份驗(yàn)證。 -
PubkeyAuthentication
:啟用或禁用使用公鑰進(jìn)行用戶身份驗(yàn)證。 - AllowUsers和DenyUsers:允許或拒絕特定用戶登錄SSH服務(wù)器??梢允褂猛ㄅ浞?。
- AllowGroups和DenyGroups:允許或拒絕特定用戶組登錄SSH服務(wù)器??梢允褂猛ㄅ浞?。
- MaxAuthTries:指定 SSH 登錄的最大嘗試次數(shù),建議設(shè)置為 3-5 次。
- UsePAM:?jiǎn)⒂没蚪肞luggable Authentication Modules(PAM)。默認(rèn)啟用,一般不建議禁用。
- UseDNS:用于指定是否進(jìn)行 DNS 反向解析。它控制是否在用戶登錄時(shí)嘗試解析客戶端的 IP 地址為主機(jī)名
- Banner:指定SSH登錄時(shí)顯示的歡迎消息或法律通告的文件路徑。
- HostKey:指定 SSH 服務(wù)器使用的主機(jī)密鑰文件路徑。
- X11Forwarding:?jiǎn)⒂没蚪肵11轉(zhuǎn)發(fā)。默認(rèn)禁用。如果不需要圖形界面,建議禁用。
- PermitEmptyPasswords:允許或禁止空密碼登錄。默認(rèn)禁用,建議保持禁用狀態(tài)。
- ClientAliveInterval和ClientAliveCountMax:用于保持SSH連接的活動(dòng)狀態(tài)。ClientAliveInterval指定服務(wù)器向客戶端發(fā)送消息的時(shí)間間隔,ClientAliveCountMax指定服務(wù)器在斷開連接之前嘗試發(fā)送的次數(shù)。
配置root密碼登錄
# 允許root密碼登陸
PermitRootLogin yes
?重啟 SSH 服務(wù):
[root@host .ssh]$ systemctl restart sshd
配置root密鑰登錄
1. 制作密鑰對(duì)
在本地計(jì)算機(jī)上打開終端,使用以下命令生成SSH密鑰對(duì),上傳公鑰。
如果本地沒有此命令,也可以在服務(wù)器上生成密鑰對(duì),下載私鑰。
請(qǐng)確保妥善保管私鑰,并不要共享或暴露給其他人,以確保系統(tǒng)的安全性。
[root@host ~]$ ssh-keygen <== 建立密鑰對(duì)
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): <== 按 Enter
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): <== 輸入密鑰鎖碼,或直接按 Enter 留空
Enter same passphrase again: <== 再輸入一遍密鑰鎖碼
Your identification has been saved in /root/.ssh/id_rsa. <== 私鑰
Your public key has been saved in /root/.ssh/id_rsa.pub. <== 公鑰
The key fingerprint is:
0f:d3:e7:1a:1c:bd:5c:03:f1:19:f1:22:df:9b:cc:08 root@host
密鑰鎖碼在使用私鑰時(shí)必須輸入,這樣就可以保護(hù)私鑰不被盜用。當(dāng)然,也可以留空,實(shí)現(xiàn)無密碼登錄。
現(xiàn)在,在 root 用戶的家目錄中生成了一個(gè) .ssh 的隱藏目錄,內(nèi)含兩個(gè)密鑰文件。id_rsa 為私鑰,id_rsa.pub 為公鑰。
2. 在服務(wù)器上安裝公鑰
# 在服務(wù)器上安裝公鑰
[root@host ~]$ cd .ssh
[root@host .ssh]$ cat id_rsa.pub >> authorized_keys
# 保證以下文件權(quán)限正確:
[root@host .ssh]$ chmod 600 authorized_keys
[root@host .ssh]$ chmod 700 ~/.ssh
3. 修改sshd配置
# 啟用使用RSA算法進(jìn)行用戶身份驗(yàn)證
RSAAuthentication yes
# 啟用使用公鑰進(jìn)行用戶身份驗(yàn)證
PubkeyAuthentication yes
# 允許root用戶直接登錄
PermitRootLogin yes
# 禁用密碼登錄:
PasswordAuthentication no
4. 重啟 SSH 服務(wù):
[root@host .ssh]$ systemctl restart sshd
5. 在本地使用私鑰進(jìn)行登錄
使用 WinSCP、SFTP、Xshell 等工具使用私鑰文件 id_rsa 。載入你的私鑰文件。如果你剛才設(shè)置了密鑰鎖碼,這時(shí)則需要輸入。
查看原文:linux ssh常用配置密鑰登錄
關(guān)注公眾號(hào) "字節(jié)航海家" 及時(shí)獲取最新內(nèi)容文章來源:http://www.zghlxwxcb.cn/news/detail-818998.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-818998.html
到了這里,關(guān)于linux ssh常用配置密鑰登錄的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!