文章目錄
- 入門
- 連接
- 執行
- SCP
- 配置位置
- SCP 選項
- 配置示例
- ProxyJump
- ssh-copy-id
- SSH keygen
- ssh-keygen
- 產生
- 鑰匙類型
- known_hosts
- 密鑰格式
此快速參考備忘單提供了使用 SSH 的各種方法。
參考:
- OpenSSH 配置文件示例 (cyberciti.biz)
- ssh_config (linux.die.net)
入門
連接
連接到服務器(默認端口 22)
$ ssh root@192.168.1.5
在特定端口上連接
$ ssh root@192.168.1.5 -p 6222
通過 pem 文件連接(0400 權限)
$ ssh -i /path/file.pem root@192.168.1.5
請參閱:SSH 權限
執行
執行遠程命令
$ ssh root@192.168.1.5 'ls -l'
調用本地腳本
$ ssh root@192.168.1.5 bash < script.sh
從服務器壓縮和下載
$ ssh root@192.168.1.5 "tar cvzf - ~/source" > output.tgz
SCP
從遠程復制到本地
$ scp user@server:/dir/file.ext dest/
兩臺服務器之間的副本
$ scp user@server:/file user@server:/dir
從本地復制到遠程
$ scp dest/file.ext user@server:/dir
復制整個文件夾
$ scp -r user@server:/dir dest/
復制文件夾中的所有文件
$ scp user@server:/dir/* dest/
從服務器文件夾復制到當前文件夾
$ scp user@server:/dir/* .
配置位置
文件路徑 | 說明 |
---|---|
/etc/ssh/ssh_config | 系統范圍的配置 |
~/.ssh/config | 用戶特定的配置 |
~/.ssh/id_{type} | 私鑰 |
~/.ssh/id_{type}.pub | 公鑰 |
~/.ssh/known_hosts | 登錄主機 |
~/.ssh/authorized_keys | 授權登錄密鑰 |
SCP 選項
選項 | 說明 |
---|---|
scp -r | 遞歸復制整個目錄 |
scp -C | 壓縮數據 |
scp -v | 打印詳細信息 |
scp -P 8080 | 使用特定端口 |
scp -B | 批處理模式_(防止密碼)_ |
scp -p | 保留時間和模式 |
配置示例
Host server1 HostName 192.168.1.5User rootPort 22IdentityFile ~/.ssh/server1.key
通過別名啟動
$ ssh server1
請參閱:完整 配置選項
ProxyJump
$ ssh -J proxy_host1 remote_host2
$ ssh -J user@proxy_host1 user@remote_host2
多次跳躍
$ ssh -J user@proxy_host1:port1,user@proxy_host2:port2 user@remote_host3
ssh-copy-id
$ ssh-copy-id user@server
復制到別名服務器
$ ssh-copy-id server1
復制特定密鑰
$ ssh-copy-id -i ~/.ssh/id_rsa.pub user@server
SSH keygen
ssh-keygen
$ ssh-keygen -t rsa -b 4096 -C "your@mail.com"
- | - | - |
---|---|---|
-t | 類型 鍵 | |
-b | 密鑰中的位數 | |
-C | 提供新評論 |
生成帶有電子郵件作為注釋的 RSA 4096 位密鑰
產生
以交互方式生成密鑰
$ ssh-keygen
指定文件名
$ ssh-keygen -f ~/.ssh/filename
從私鑰生成公鑰
$ ssh-keygen -y -f private.key > public.pub
更改評論
$ ssh-keygen -c -f ~/.ssh/id_rsa
更改私鑰密碼
$ ssh-keygen -p -f ~/.ssh/id_rsa
鑰匙類型
- rsa
- ed25519
- dsa
- ecdsa
known_hosts
從 known_hosts 搜索
$ ssh-keygen -F <ip/hostname>
從 known_hosts 中刪除
$ ssh-keygen -R <ip/hostname>
密鑰格式
- PEM
- PKCS8