example@unixlinux.online$ autossh -R 12345:localhost:22 example@unixlinux.online
Nanti:
example@unixlinux.online$ autossh -L 23456:localhost:12345 example@unixlinux.online
example@unixlinux.online$ ssh example@unixlinux.online -p 23456
Apa yang dapat Anda lakukan adalah ini:pada langkah 1 meneruskan port jarak jauh dari PC kantor ke server (12345 digunakan sebagai contoh, semua port>1024 harus melakukannya). Sekarang menghubungkan ke 12345 di server seharusnya menghubungkan Anda ke port 22 di officepc.
Pada langkah 2, teruskan port 23456 dari mesin rumah Anda ke 12345 di server (dari situ diteruskan ke officepc:22, seperti yang diatur pada langkah 1)
Pada langkah 3, Anda terhubung ke port lokal 23456 dengan login PC kantor Anda . Ini diteruskan dengan langkah 2 ke port 12345 di server Anda, dan dengan langkah 1 ke PC kantor Anda.
Perhatikan bahwa saya menggunakan autossh untuk penerusan, karena ini adalah pembungkus ssh yang secara otomatis menghubungkan kembali terowongan jika terputus; namun ssh normal juga akan berfungsi, selama koneksi tidak terputus.
Ada kemungkinan kerentanan:siapa pun yang dapat terhubung ke localhost:12345 di serverpc sekarang dapat terhubung ke officepc:22, dan mencoba meretasnya. (Perhatikan bahwa jika Anda menjalankan server SSH, Anda tetap harus mengamankannya di atas perlindungan dasar yang aktif secara default; saya sarankan setidaknya nonaktifkan login root dan nonaktifkan autentikasi sandi - lihat misalnya ini)
Edit :Saya telah memverifikasi ini dengan konfigurasi yang sama, dan berhasil. GatewayPorts no hanya memengaruhi pelabuhan yang terbuka untuk dunia luas, bukan terowongan lokal. Inilah port yang diteruskan:
homepc:
outgoing ssh to serverpc:22
listening localhost:23456 forwarded through ssh tunnel
serverpc:
listening ssh at *:22
incoming localhost ssh tunnel (from homepc) forwarded to localhost:12345
listening localhost ssh tunnel (from officepc) forwarded from localhost:12345
officepc:
outgoing ssh to serverpc:22
incoming localhost through ssh tunnel (from serverpc) forwarded to localhost:22
Jadi, sejauh menyangkut tumpukan jaringan, itu semua lalu lintas lokal pada masing-masing antarmuka loopback (ditambah koneksi ssh ke serverpc); oleh karena itu, GatewayPorts tidak dicentang sama sekali.
Namun demikian, direktif AllowTcpForwarding :jika itu adalah no , penyiapan ini akan gagal karena tidak ada penerusan yang diizinkan sama sekali, bahkan di seluruh antarmuka loopback.
Peringatan :
-
jika menggunakan autossh dan ssh terbaru, Anda mungkin ingin menggunakan
ServerAliveIntervalssh danServerAliveCountMaxuntuk menjaga terowongan tetap tinggi. Autossh memiliki pemeriksaan bawaan, tetapi tampaknya ada beberapa masalah di Fedora.-M0nonaktifkan itu, dan-oServerAliveInterval=20 -oServerAliveCountMax=3memeriksa apakah koneksi aktif - coba setiap 20 detik, jika gagal 3x berturut-turut, hentikan ssh (dan autossh membuat yang baru):autossh -M0 -R 12345:localhost:22 -oServerAliveInterval=20 -oServerAliveCountMax=3 example@unixlinux.online autossh -M0 -L 23456:localhost:12345 -oServerAliveInterval=20 -oServerAliveCountMax=3 example@unixlinux.online -
mungkin berguna untuk memulai ulang terowongan ssh jika penerusan gagal, menggunakan
-oExitOnForwardFailure=yes- jika port sudah terikat, Anda mungkin mendapatkan koneksi SSH yang berfungsi, tetapi tidak ada tunnel yang diteruskan. -
menggunakan
~/.ssh/configuntuk opsi (dan port) disarankan, jika tidak, baris perintah menjadi terlalu bertele-tele. Misalnya:Host fwdserverpc Hostname serverpc User notroot ServerAliveInterval 20 ServerAliveCountMax 3 ExitOnForwardFailure yes LocalForward 23456 localhost:12345
Kemudian Anda hanya dapat menggunakan alias server:
autossh -M0 fwdserverpc
Jika Anda dapat ssh ke server internal dari rumah dan dari server internal ke mesin Linux kantor Anda, maka dari rumah Anda dapat menggunakan ssh ProxyCommand untuk memantul secara diam-diam melalui server ke mesin internal melalui nc (netcat)
# ~/.ssh/config on your home machine:
Host internalpc
ForwardAgent yes
ProxyCommand ssh example@unixlinux.online exec nc internal.pc.example.com %p
Maka Anda tinggal ssh example@unixlinux.online dan Anda diteruskan secara diam-diam melalui mesin server, tidak perlu membuka port atau terowongan di kedua ujungnya.
Instal Robo-TiTO di komputer yang ingin Anda akses SSH dari jarak jauh.
- Ini akan memungkinkan Anda untuk mengakses SSH menggunakan dari Aplikasi Klien Google Talk di mana saja.
- Tidak perlu alamat IP publik atau pengaturan khusus.
- Ini Gratis dan Sumber Terbuka, Tidak Membayar layanan aplikasi apa pun lagi.
- Tidak perlu membuka port SSH (menjaga keamanan komputer Anda).
- Tidak perlu membuka tunneling apa pun (mis., VPN atau semacamnya)
Petunjuk penginstalan berikut sudah usang, karena situs telah dipindahkan. URL baru adalah https://github.com/formigarafa/robotito
Saya membuat skrip (diuji pada OS Raspbian saya di Raspberry Pi) sehingga Anda dapat dengan mudah menginstal Robo-TiTO di Raspberry Pi, Debian atau Ubuntu Box (distribusi paket Debian). Ini adalah langkah-langkah untuk mendapatkan Linux Anda kotak remoteable:
Buka Perintah Shell atau Anda dapat menyebutnya Terminal, buka folder rumah Anda, Unduh skrip pemasang dengan perintah:
$ wget https://opengateway.googlecode.com/files/robotitosetelah itu jalankan script dengan memasukkan perintah:
$ sudo ./robotitodan kemudian Anda dapat mengedit file
credentials.rbdari folder config Robo-TiTO menggunakan akun GTalk Anda dan simpan dengan menekan Ctrl +X dan Y . Standarnya menggunakan editor nano.menjalankan Robo-TiTO dari folder Robo-TiTO dengan perintah
$ cd robotito $ ./jabbershd startSetelah selesai, Anda dapat menggunakan SSH dari klien Google Talk mana pun. Jangan lupa untuk menambahkan akun Robo-TiTO GTalk ke akun Google talk Anda dan mengujinya dengan saling mengobrol sebelum menggunakan akun tersebut.