面試必備!15 個 SSH 服務(wù)器經(jīng)典問題,助你輕松過關(guān)斬將!
SSH(Secure Shell)是Linux系統(tǒng)中最常用的遠程管理工具之一,掌握它是每個運維工程師的必備技能。在面試中,關(guān)于SSH服務(wù)器的相關(guān)問題經(jīng)常會被問到。本文將列出15個常見的SSH服務(wù)器面試題,并提供簡要解答,幫助你在面試中脫穎而出。
為什么要使用SSH 而不是Telnet?
在 ssh 客戶端和服務(wù)器之間的通信是加密的,但在 telnet 客戶端和服務(wù)器之間的通信是明文。我們還可以說ssh使用公鑰進行身份驗證,而 telnet 不使用任何身份驗證。與telnet相比,ssh 增加了更多的帶寬開銷。ssh 的默認端口是22,telnet 的默認端口是 23。
SSH的默認端口號是什么?如何修改?
SSH的默認端口號是 22??梢酝ㄟ^編輯 /etc/ssh/sshd_config 文件修改端口號。例如,將端口改為 5320:
修改后,需重啟 SSH 服務(wù)以使更改生效:
systemctl restart sshd
如何生成 SSH 密鑰對?
使用 ssh-keygen 命令生成 SSH 密鑰對。默認情況下,它會生成 RSA 類型的密鑰:
ssh-keygen -t rsa
生成的密鑰對通常存放在 ~/.ssh/ 目錄下,id_rsa 為私鑰,id_rsa.pub 為公鑰。
如何通過SSH實現(xiàn)免密碼登錄?
免密碼登錄通過SSH公鑰認證實現(xiàn)。步驟如下:
- 在客戶端生成 SSH 密鑰對。
- 將公鑰復制到遠程服務(wù)器的 ~/.ssh/authorized_keys 文件中,使用如下命令:
ssh-copy-id user@remote-server
確保 authorized_keys 文件權(quán)限正確(通常是 600),并確保 .ssh 目錄的權(quán)限為 700。
如何限制特定用戶通過 SSH 訪問服務(wù)器?
可以通過編輯 /etc/ssh/sshd_config 文件,使用 AllowUsers 或 DenyUsers 指令。例如,允許特定用戶訪問:
AllowUsers user1 user2
或者拒絕特定用戶訪問:
DenyUsers user3
修改后,重啟 SSH 服務(wù)以使更改生效。
如何在linux服務(wù)器中禁用root登錄?
編輯文件/etc/ssh/sshd_config, 將PermitRootLogin yes設(shè)置為PermitootLogin no,然后重新啟動 ssh 服務(wù)。
如何防止 SSH 暴力破解攻擊?
- 修改默認端口。
- 禁用 root 用戶的 SSH 登錄。
- 限制登錄嘗試次數(shù),配置 MaxAuthTries。
- 使用 Fail2Ban 等工具檢測和阻止暴力破解攻擊。
如何使用 SSH 實現(xiàn)文件傳輸?
使用 scp 或 sftp 命令實現(xiàn)文件傳輸。scp 命令用于單次文件或目錄的傳輸,例如:
scp file.txt user@remote-server:/path/to/destination/
sftp 是交互式文件傳輸工具,類似于 FTP,但通過 SSH 加密。
如何配置 SSH 隧道?
SSH隧道分為本地端口轉(zhuǎn)發(fā)和遠程端口轉(zhuǎn)發(fā)。創(chuàng)建本地端口轉(zhuǎn)發(fā)的命令如下:
ssh -L local_port:remote_address:remote_port user@remote-server
創(chuàng)建遠程端口轉(zhuǎn)發(fā)的命令如下:
ssh -R remote_port:local_address:local_port user@remote-server
SSH 隧道可以用于安全地穿透防火墻、加密非安全協(xié)議的流量。
SSH登錄時顯示Connection refused可能的原因有哪些?
出現(xiàn) Connection refused的原因可能包括:
- SSH 服務(wù)未啟動或崩潰。
- 防火墻阻止了連接。
- SSH 配置錯誤,例如綁定了錯誤的 IP 地址或端口。
- 網(wǎng)絡(luò)問題導致目標服務(wù)器無法訪問。
如何禁用 SSH 的反向 DNS 解析?
可以在 /etc/ssh/sshd_config 文件中設(shè)置 UseDNS 為 no 以禁用反向 DNS 解析。這有助于加快連接速度,特別是在 DNS 解析慢的網(wǎng)絡(luò)環(huán)境中。
如何解決SSH連接慢的問題?
SSH連接慢通常是由于DNS反向解析或GSSAPI認證導致的。可以通過在 /etc/ssh/sshd_config 文件中禁用 UseDNS 和 GSSAPIAuthentication 來加速連接。
SSH連接時提示Host key verification failed是什么意思?如何解決?
這個錯誤通常是由于目標服務(wù)器的主機密鑰發(fā)生變化,導致客戶端不信任它??梢酝ㄟ^刪除 ~/.ssh/known_hosts 文件中相應(yīng)的主機條目,或直接清空該文件來解決。
如何設(shè)置SSH的登錄歡迎信息?
可以通過編輯 /etc/motd 文件來設(shè)置登錄后的歡迎信息?;蛘撸ㄟ^ /etc/issue.net 文件設(shè)置登錄前的歡迎信息。
如何查看SSH服務(wù)器的版本?
使用 ssh -V 命令可以查看客戶端SSH的版本;要查看服務(wù)器SSH的版本,可以在目標服務(wù)器上運行 sshd -v。
如果你覺得這些面試題有幫助,不妨收藏起來,以備不時之需。同時,了解和熟悉這些問題的相關(guān)配置和命令,也會讓你在實際工作中更加得心應(yīng)手。