SSH(Secure Shell)是一種用于遠端登入和安全傳輸資料的協定,在Linux系統管理中扮演着重要的角色。作為一名Linux系統管理者,熟悉和掌握SSH指令是必不可少的。在本文中,我們将分享一份詳細的SSH指令備忘單,為每個指令提供詳細的示例,幫助您更好地了解和使用它們。
連接配接到遠端伺服器
1. ssh
使用ssh指令連接配接到遠端伺服器。
示例:
ssh username@hostname
2. ssh -p
指定遠端伺服器的SSH端口。
示例:
ssh -p 2222 username@hostname
3. ssh-keygen
生成SSH密鑰對。
示例:
ssh-keygen -t rsa -b 4096
4. ssh-copy-id
将SSH公鑰複制到遠端伺服器。
示例:
ssh-copy-id username@hostname
檔案傳輸
5. scp
通過SSH在本地系統和遠端伺服器之間傳輸檔案。
示例:
scp file.txt username@hostname:/path/to/destination
6. sftp
使用SFTP協定在本地系統和遠端伺服器之間進行互動式檔案傳輸。
示例:
sftp username@hostname
遠端指令執行
7. ssh command
在遠端伺服器上執行指令。
示例:
ssh username@hostname command
8. ssh -t
通過SSH在遠端伺服器上執行互動式指令。
示例:
ssh -t username@hostname command
9. ssh -f
在遠端伺服器上背景執行指令。
示例:
ssh -f username@hostname command
配置和管理
10. ~/.ssh/config
編輯SSH用戶端配置檔案。
示例:
vi ~/.ssh/config
11. ssh-agent
啟動ssh-agent并添加SSH私鑰。
示例:
eval $(ssh-agent)
ssh-add ~/.ssh/id_rsa
12. ssh-keyscan
擷取遠端伺服器的SSH公鑰。
示例:
ssh-keyscan hostname
13. sshd_config
編輯SSH伺服器配置檔案。
示例:
vi /etc/ssh/sshd_config
14. systemctl
管理SSH服務。
示例:
sudo systemctl start ssh
sudo systemctl stop ssh
sudo systemctl restart ssh
隧道和端口轉發
15. ssh -L
在本地端口和遠端伺服器之間建立本地隧道。
示例:
ssh -L local_port:remote_host:remote_port username@hostname
16. ssh -R
在遠端端口和本地伺服器之間建立遠端隧道。
示例:
ssh -R remote_port:local_host:local_port username@hostname
17. ssh -D
在本地系統上建立動态端口轉發。
示例:
ssh -D local_port username@hostname
SSH密鑰管理
18. ssh-add
将SSH私鑰添加到ssh-agent中。
示例:
ssh-add ~/.ssh/id_rsa
19. ssh-keygen
生成SSH密鑰對。
示例:
ssh-keygen -t rsa -b 4096
20. ssh-copy-id
将SSH公鑰複制到遠端伺服器。
示例:
ssh-copy-id username@hostname
21. ssh-keyscan
擷取遠端伺服器的SSH公鑰。
示例:
ssh-keyscan hostname
安全配置
22. ~/.ssh/known_hosts
編輯已知主機的公鑰清單。
示例:
vi ~/.ssh/known_hosts
23. /etc/ssh/sshd_config
編輯SSH伺服器的配置檔案。
示例:
sudo vi /etc/ssh/sshd_config
24. ssh -C
啟用壓縮以減少資料傳輸量。
示例:
ssh -C username@hostname
25. ssh -o
使用自定義選項連接配接到遠端伺服器。
示例:
ssh -o "OptionName=value" username@hostname
總結
這些是Linux系統管理者有用的SSH指令備忘單,每個指令都附帶了詳細的示例。通過熟練掌握這些指令,您将能夠輕松連接配接到遠端伺服器,執行遠端指令,傳輸檔案以及配置和管理SSH服務。希望這份備忘單對您的工作有所幫助,提高您在Linux系統管理中的效率和安全性!