æ¤å¿«éåèå¤å¿åæä¾äºä½¿ç¨ SSH çåç§æ¹æ³ã
è¿æ¥å°æå¡å¨ï¼é»è®¤ç«¯å£ 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 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 -r | éå½å¤å¶æ´ä¸ªç®å½ |
scp -C | åç¼©æ°æ® |
scp -v | æå°è¯¦ç»ä¿¡æ¯ |
scp -P 8080 | 使ç¨ç¹å®ç«¯å£ |
scp -B | æ¹å¤ç模å¼_ï¼é²æ¢å¯ç ï¼_ |
scp -p | ä¿çæ¶é´åæ¨¡å¼ |
Host server1
HostName 192.168.1.5
User root
Port 22
IdentityFile ~/.ssh/server1.key
éè¿å«åå¯å¨
$ ssh server1
请åé ï¼å®æ´ é ç½®é项
$ 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 user@server
å¤å¶å°å«åæå¡å¨
$ ssh-copy-id server1
å¤å¶ç¹å®å¯é¥
$ ssh-copy-id -i ~/.ssh/id_rsa.pub user@server
$ 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
ä» known_hosts æç´¢
$ ssh-keygen -F <ip/hostname>
ä» known_hosts ä¸å é¤
$ ssh-keygen -R <ip/hostname>
å°æ¬å°ç«¯å£åæä¸ä¸ª SOCKS 代çï¼èªå¨è½¬åä»»æç®æ å°åç请æ±ï¼éç¨äºä»£çä¸ç½ï¼ã
$ ssh -D æ¬å°SOCKSç«¯å£ ç¨æ·å@SSHæå¡å¨ -N
示ä¾ï¼å¼å¯æ¬å° 1080 端å£ä½ä¸º SOCKS5 代çï¼
$ ssh -D 1080 -N user@example.com
ä½¿ç¨ curl å½ä»¤éªè¯ SOCKS5 ä»£çæ¯å¦å·¥ä½æ£å¸¸ï¼
# 设置
$ ssh -D 1080 -N user@example.com
# éªè¯
$ curl --socks5 127.0.0.1:1080 https://ifconfig.me
妿è¿åçæ¯ example.com æå¡å¨çå
¬ç½ IPï¼è¯´æ SOCKS5 ä»£çæ£å¸¸å·¥ä½ã
å°æ¬å°ç«¯å£çæµééè¿ SSH é§é转åå°ç®æ æå¡å¨ï¼éç¨äºè®¿é®è¿ç¨/å ç½æå¡ï¼ã
$ ssh -L [æ¬å°IP:]æ¬å°ç«¯å£:ç®æ IP:ç®æ ç«¯å£ ç¨æ·å@SSHæå¡å¨ -N
示ä¾ï¼å°æ¬å°ç 4000 端å£è½¬åå°è¿ç¨å
ç½æå¡å¨ 192.168.1.10:80ï¼
$ ssh -L 4000:192.168.1.10:80 user@example.com -N
å
¶ä¸ -N è¡¨ç¤ºä¸æ§è¡è¿ç¨å½ä»¤ï¼åªæ¯å»ºç«é§éã
让è¿ç¨ SSH æå¡å¨ä¸ç端å£è½¬åå°æ¬å°çæä¸ªæå¡ï¼éç¨äºè®©å¤é¨è®¿é®ä½ æ¬å°æå¡ï¼ã
$ ssh -R [SSHæå¡å¨IP:]è¿ç¨ç«¯å£:æ¬å°IP:æ¬å°ç«¯å£ ç¨æ·å@SSHæå¡å¨ -N
示ä¾ï¼å°è¿ç¨æå¡å¨ç 5000 ç«¯å£æ å°å°ä½ æ¬å°ç localhost:3306ï¼MySQLï¼ï¼
$ ssh -R 5000:localhost:3306 user@example.com -N