- 提昇連線效率
- 一行指令連入遠端區域網路內的其他主機
- SOCKS 代理伺服器
- SSH Tunnel
- SSH 與 Pipeline 應用
- 免密碼登入
- 壓縮傳遞
- 備份遠端 mysql 資料庫
- 備份到遠端主機
- 在本地還原備份資料
- 傳送麥克風聲音到遠端主機喇叭
保持連線
vi ~/.ssh/config
KeepAlive yes
ServerAliveInterval 60chmod 600 ~/.ssh/config
提昇連線效率
mkdir ~/.ssh/connections
chmod 700 ~/.ssh/connections
vi ~/.ssh/configHost *
ControlMaster auto
ControlPath ~/.ssh/connections/%r_%h_%p風險: 連線中, 再另外連入相同的 帳號@主機 將不再詢問密碼.
一行指令連入遠端區域網路內的其他主機
ssh -t someone@remote.host 'ssh someone@192.168.1.1'
SOCKS 代理伺服器
僅允許本機連線
ssh -f -N -D1080 someone@remote.host
於瀏覽器設定 SOCKS Host: localhost:1080
並瀏覽 http://whatismyip.com/ 查看自己的 IP 是否為遠端 sshd 主機的外部 IP允許其他人連線
ssh -f -N -D 0.0.0.0:1080 someone@remote.host
於瀏覽器設定 SOCKS Host: ssh.client.ip:1080
SSH Tunnel
瀏覽遠端未開放網際網路連線的內部 web server
sudo ssh -L 8080:192.168.1.1:80 someone@remote.host #只允許本機連線
sudo ssh -L 0.0.0.0:8080:192.168.1.1:80 someone@remote.host #允許其他人連線
於本機打開瀏覽器, 輸入網址: http://localhost:8080/ 瀏覽遠端內部主機 192.168.1.1:80
在允許其他人連線的情況下, 別台電腦只要於瀏覽器輸入 http://ssh.client.ip:8080/ 就能透過這台 linux 主機連入遠端 192.168.1.1:80
SSH 與 Pipeline 應用
免密碼登入
ssh-keygen
cat ~/.ssh/id_rsa.pub | ssh someone@remote.host 'cat >> ~/.ssh/authorized_keys'
ssh someone@remote.host替代方案: ssh-copy-id someone@remote.host
壓縮傳遞
tar -cz fileORfolder | ssh someone@remote.host 'tar -xz -C /to/path'
替代方案:
rsync -az fileORfolder someone@remote.host:/to/path
scp -C file someone@remote.host:/to/path
scp -r -C folder someone@remote.host:/to/path備份遠端 mysql 資料庫
ssh someone@remote.host 'mysqldump -uroot -psecret --all-databases' | \
dd of=~/mysqldump.sql備份到遠端主機
dd if=/dev/sdc | ssh -c blowfish someone@remote.host 'dd of=/path/to/backup.img'
tar -cvj *.jpg | ssh someone@remote.host 'cat > /path/to/backup.tar.bz2'
在本地還原備份資料
ssh someone@remote.host 'dd if=/path/to/backup.img' | dd if=/dev/sdc
ssh someone@remote.host 'cat /path/to/backup.tar.bz2' | tar -xvjf -
傳送麥克風聲音到遠端主機喇叭
dd if=/dev/dsp | ssh someone@remote.host 'dd of=/dev/dsp'
-
參考資料:
沒有留言:
發佈留言