- Chuyển hướng cổng bằng SSH
- Đảo cổng với SSH
- Chạy lệnh trên máy Remote bằng SSH
- Mount thư mục Server vào Local
- Proxy traffic với SSH qua SOCKS
Chuyển hướng cổng bằng SSH
Giả sử có Server địa chỉ host (ip hoặc domain) là myserver
, login được bằng SSH với
user là user
. Nghĩa là kết nối được bằng:
ssh user@myserver
Giờ nếu muốn chuyển hướng cổng máy local là portlocal
sang portremote
, có nghĩa là
nếu truy cập localhost:portlocal
thì thực tế là truy cập myserver:portremote
thì
gõ lệnh SSH sau:
ssh -L 0.0.0.0:portlocal:127.0.0.1:portremote user@remoteserver
Ví dụ, chuyển cổng 1234
của localhost, thành cổng 80
của server
ssh -L 0.0.0.0:1234:127.0.0.1:80 user@remoteserver
Có nghĩa là truy cập http://localhost:1234
thực ra là truy cập http://remoteserver
Chuyển cổng 3306
(MySQL Server) của local thành 3306
của server
ssh -L 0.0.0.0:3306:127.0.0.1:3306 user@remoteserver
Có nghĩa là kết nối đến MySQl với host là localhost, thì có nghĩa là kết nối đến MySQL ở Server remoteserver
Đảo cổng với SSH
Tình huống này là bạn muốn cổng trên Server sẽ chuyển về cổng ở Local (máy local có public ip là public-ip
).
ssh -R serverport:localhost:localport root@myserver
Có nghĩa là truy cập địa chỉ myserver:serverport
có nghĩa là truy cập public-ip:localport
ssh -R 123456:localhost:80 root@myserver
Có nghĩa truy cập http://myserver:123456
có nghĩa là truy cập http://public-ip:80
Chạy lệnh trên máy Remote
Khi thực hiện kết nối SSH, nếu kết nối thành công với Remote, thì nó sẽ kết nối terminal - shell của máy Remote, từ đó ta gõ và thi hành các lệnh trên máy Remote.
Tuy nhiên, nếu muốn - sau khi kết nối - thi hành ngay một lệnh và ngắt kết nối ngay. Thì gõ lệnh ssh như sau:
ssh user@myserver "lệnh-cần-chạy ... "
Ví dụ - chạy ngay lệnh cd /var
và lệnh ls
ssh root@myserver "cd /var && ls"
Mount (gắn) thư mục máy Remote vào Local với SSHFS
cài đặt SSHFS trên Ubuntu
apt install sshfs
cài đặt SSHFS trên CentOS
yum install fuse-sshfs
cài đặt SSHFS trên macOS xem sử dụng Fuse macOS
cài đặt SSHFS trên Windows sshfs-win
Gắn thư mục
trên server vào /home/data/
/mydata/
trên local
sshfs user@remoteserver:/home/data/ /mydata/
Tạo Socks để chuyển traffic thực hiện từ Server
Bạn có thể tạo SOCKS với SSH, ví dụ tạo lắng nghe trên cổng 19999
(TPC), ở máy local - để chuyển
traffic qua máy Server
ssh -D 0.0.0.0:19999 root@myserver
Giờ thì tùy loại máy, mà bạn thiết lập traffic mạng từ máy bạn, sẽ thực hiện qua server (Fake IP).
Trên macOS

Trên Windows gõ vào Start Menu Internet Properties
và làm theo từng bước

Giờ việc truy cập Internet của bạn, có địa chỉ public IP là địa chỉ IP của Server
Gõ vào Google Search: what is my ip
để nhìn thấy ngay IP hiện tại.
