ssh(secure shell)是一種用于遠(yuǎn)程登錄和安全傳輸數(shù)據(jù)的協(xié)議,在linux系統(tǒng)管理中起著關(guān)鍵作用。作為linux系統(tǒng)管理員,掌握ssh命令是必不可少的技能。本文提供了一份詳細(xì)的ssh命令備忘單,并附有示例,以幫助您更深入地理解和使用這些命令。
連接到遠(yuǎn)程服務(wù)器
-
ssh 使用ssh命令連接到遠(yuǎn)程服務(wù)器。
示例:
ssh username@hostname
-
ssh -p 指定遠(yuǎn)程服務(wù)器的SSH端口。
示例:
ssh -p 2222 username@hostname
-
ssh-keygen 生成SSH密鑰對。
示例:
ssh-keygen -t rsa -b 4096
-
ssh-copy-id 將SSH公鑰復(fù)制到遠(yuǎn)程服務(wù)器。
示例:
ssh-copy-id username@hostname
文件傳輸
-
scp 通過SSH在本地系統(tǒng)和遠(yuǎn)程服務(wù)器之間傳輸文件。
示例:
scp file.txt username@hostname:/path/to/destination
-
sftp 使用SFTP協(xié)議在本地系統(tǒng)和遠(yuǎn)程服務(wù)器之間進(jìn)行交互式文件傳輸。
示例:
sftp username@hostname
遠(yuǎn)程命令執(zhí)行
-
ssh command 在遠(yuǎn)程服務(wù)器上執(zhí)行命令。
示例:
ssh username@hostname command
-
ssh -t 通過SSH在遠(yuǎn)程服務(wù)器上執(zhí)行交互式命令。
示例:
ssh -t username@hostname command
-
ssh -f 在遠(yuǎn)程服務(wù)器上后臺(tái)執(zhí)行命令。
示例:
ssh -f username@hostname command
配置和管理
-
~/.ssh/config 編輯SSH客戶端配置文件。
示例:
vi ~/.ssh/config
-
ssh-agent 啟動(dòng)ssh-agent并添加SSH私鑰。
示例:
eval $(ssh-agent) ssh-add ~/.ssh/id_rsa
-
ssh-keyscan 獲取遠(yuǎn)程服務(wù)器的SSH公鑰。
示例:
ssh-keyscan hostname
-
sshd_config 編輯SSH服務(wù)器配置文件。
示例:
vi /etc/ssh/sshd_config
-
systemctl 管理SSH服務(wù)。
示例:
sudo systemctl start ssh sudo systemctl stop ssh sudo systemctl restart ssh
隧道和端口轉(zhuǎn)發(fā)
-
ssh -L 在本地端口和遠(yuǎn)程服務(wù)器之間創(chuàng)建本地隧道。
示例:
ssh -L local_port:remote_host:remote_port username@hostname
-
ssh -R 在遠(yuǎn)程端口和本地服務(wù)器之間創(chuàng)建遠(yuǎn)程隧道。
示例:
ssh -R remote_port:local_host:local_port username@hostname
-
ssh -D 在本地系統(tǒng)上創(chuàng)建動(dòng)態(tài)端口轉(zhuǎn)發(fā)。
示例:
ssh -D local_port username@hostname
SSH密鑰管理
-
ssh-add 將SSH私鑰添加到ssh-agent中。
示例:
ssh-add ~/.ssh/id_rsa
-
ssh-keygen 生成SSH密鑰對。
示例:
ssh-keygen -t rsa -b 4096
-
ssh-copy-id 將SSH公鑰復(fù)制到遠(yuǎn)程服務(wù)器。
示例:
ssh-copy-id username@hostname
-
ssh-keyscan 獲取遠(yuǎn)程服務(wù)器的SSH公鑰。
示例:
ssh-keyscan hostname
安全配置
-
~/.ssh/known_hosts 編輯已知主機(jī)的公鑰列表。
示例:
vi ~/.ssh/known_hosts
-
/etc/ssh/sshd_config 編輯SSH服務(wù)器的配置文件。
示例:
sudo vi /etc/ssh/sshd_config
-
ssh -C 啟用壓縮以減少數(shù)據(jù)傳輸量。
示例:
ssh -C username@hostname
-
ssh -o 使用自定義選項(xiàng)連接到遠(yuǎn)程服務(wù)器。
示例:
ssh -o "OptionName=value" username@hostname
總結(jié)
這些是Linux系統(tǒng)管理員有用的SSH命令備忘單,每個(gè)命令都附帶了詳細(xì)的示例。通過熟練掌握這些命令,您將能夠輕松連接到遠(yuǎn)程服務(wù)器,執(zhí)行遠(yuǎn)程命令,傳輸文件以及配置和管理SSH服務(wù)。希望這份備忘單對您的工作有所幫助,提高您在Linux系統(tǒng)管理中的效率和安全性!