Saya harus membuat terowongan antara dua host.
Untuk ini saya gunakan ssh
dengan cara ini:
ssh -L MY_LOCAL_PORT:FOREIGN_ADDRESS:FOREIGN_PORT MYUSER@SSH_SERVER
setelah itu, saya masuk ke SSH_SERVER saya.
Bagaimana saya bisa menghindari fitur ini ?! Saya hanya perlu membuat terowongan. Saya tidak harus masuk ke SSH_SERVER saya ...
Saya sudah mencoba opsi -N, tetapi itu membuat shell saya sibuk.
ssh
ssh-tunneling
Bau Miao
sumber
sumber
man ssh
menunjukkan bagaimana:ssh -f -L 1234:localhost:6667 server.example.com sleep 10 && irc -c '#users' -p 1234 pinky 127.0.0.1
Opsi -f latar belakang ssh dan perintah remote `` sleep 10 '' ditentukan untuk memungkinkan sejumlah waktu (10 detik, dalam contoh) untuk memulai layanan yang akan disetel. Jika tidak ada koneksi yang dibuat dalam waktu yang ditentukan, ssh akan keluar. `` `Jawaban:
Seperti yang dikatakan dalam posting lain, jika Anda tidak ingin prompt pada host jarak jauh, Anda harus menggunakan
-N
opsi SSH. Tapi ini hanya membuat SSH tetap berjalan tanpa harus meminta, dan shell sibuk.Anda hanya perlu menempatkan SSH'ing sebagai tugas latar belakang dengan
&
tanda:Ini akan meluncurkan tunneling ssh di latar belakang. Tetapi beberapa pesan mungkin muncul, terutama ketika Anda mencoba terhubung ke port non-mendengarkan (jika apache server Anda tidak diluncurkan). Untuk menghindari pesan-pesan ini muncul di shell Anda saat melakukan hal-hal lain, Anda dapat mengarahkan STDOUT / STDERR ke kekosongan besar:
Bersenang-senang dengan SSH.
sumber
-f
alih-alih&
dan io pengalihan.-f -N
adalah apa yang Anda cari:sumber
ps
dankill
itussh -N -f -M -S /tmp/file-sock -L port:server:port_to user@...
sehingga Anda dapat membunuh koneksi nanti denganssh -S /tmp/file -o exit user@....
(atau membunuh). Dengan begitu, tidak perlu ps. Anda dapat memberitahu untuk secara otomatis membuat file itu di ~ / .ssh / config.ssh -S /tmp/file-sock -O exit
, bukan-o
en.wikibooks.org/wiki/OpenSSH/Cookbook/…