Saya punya pertanyaan tentang tunneling ssh. Saya sudah membaca artikel ini
Saya ingin membuat penerusan X berfungsi dan menjalankan beberapa aplikasi X di rumah dan menampilkannya di sistem jarak jauh:
ssh -X -R 5555:localhost:22 [email protected] -N
Pada jarak jauh:
ssh -X -p 5555 [email protected]
Kemudian di rumah:
//configure sshd to listen on 5555
ssh [email protected]
//here run some app
Haruskah ini berhasil?
ssh
x11
ssh-tunneling
xforwarding
wawa235
sumber
sumber
Jawaban:
Saya telah menggambar beberapa sketsa
Mesin, tempat perintah ssh tunnel diketik disebut »host Anda« .
pengantar
lokal:
-L Specifies that the given port on the local (client) host is to be forwarded to the given host and port on the remote side.
ssh -L sourcePort:forwardToHost:onPort connectToHost
berarti: terhubung dengan ssh keconnectToHost
, dan meneruskan semua upaya koneksi ke port lokalsourcePort
keonPort
mesin yang dipanggilforwardToHost
, yang dapat dijangkau dariconnectToHost
mesin.terpencil:
-R Specifies that the given port on the remote (server) host is to be forwarded to the given host and port on the local side.
ssh -R sourcePort:forwardToHost:onPort connectToHost
berarti: terhubung dengan ssh keconnectToHost
, dan meneruskan semua upaya koneksi ke porta jarak jauhsourcePort
keonPort
mesin yang disebutforwardToHost
, yang dapat dijangkau dari mesin lokal Anda.Contoh anda
Nah, jika Anda hanya ingin membuat penerusan X berfungsi, yaitu menjalankan beberapa aplikasi X di komputer di rumah dan membuatnya ditampilkan di sistem jarak jauh (sebut saja komputer berfungsi, karena mungkin di tempat kerja Anda), maka Anda mungkin tidak perlu terowongan ssh sama sekali.
Mulai aplikasi X tanpa terowongan
Bisakah Anda ssh dari komputer kerja ke komputer di rumah? Jika demikian, ketika Anda duduk di komputer kantor dan ingin memulai aplikasi X yang berjalan di komputer rumah Anda tetapi ditampilkan di komputer kantor Anda Anda, Anda harus mengetik (di komputer kantor):
ssh -X homeuser @ homecomputer firefox
Ini akan memulai firefox di komputer di rumah Anda dan menampilkannya di mesin tempat Anda mengetik perintah ini, misalnya komputer kerja Anda.
Komputer tersembunyi membutuhkan terowongan
Ini adalah gambar nomor 3 dari sketsa saya. Banyak kali komputer di rumah tidak dapat dijangkau langsung dari internet, karena berada di belakang firewall atau disembunyikan melalui NAT (dari router). Maka Anda bisa menggunakan terowongan.
Di komputer rumah biru Anda (
yourhost
) Anda mengetik:di mana
5555
port hijau dan22
ist port pink di gambar.Jika Anda sekarang sedang bekerja, di
remotehost
, dan terhubung ke port hijau5555
, koneksi Anda akan diarahkan / diteruskan ke port pink komputer rumah Andalocalhost
(yaitu komputer rumah biru Anda sendiri). Sekarang Anda harus mengetik di komputer kantor Anda:yang akan memulai firefox di komputer di rumah Anda (
yourhost
) dan menampilkannya di mesin tempat Anda mengetik perintah ini, mis. komputer kerja Anda (remotehost
).sumber
Anda perlu menentukan tampilan jarak jauh yang ingin Anda teruskan. Pada jarak jauh:
Untuk meneruskan
:0
tampilan.Kemudian di shell itu (sekarang berjalan di mesin rumah Anda), jalankan:
untuk mencari tahu apa tampilan yang diteruskan. Itu akan menjadi sesuatu seperti
localhost:10
, yang berarti Anda perlu melakukan koneksi TCP pada port 6010 untuk terhubung ke tampilan:0
pada mesin jarak jauh (:0
artinya menyambung ke beberapa soket domain Unix dalam sesuatu seperti/tmp/.X11-unix
)Kemudian untuk aplikasi pada mesin Anda untuk ditampilkan pada tampilan server jarak jauh, hanya masalah untuk memberitahu mereka untuk menggunakan
localhost:10
:contohnya.
Perhatikan bahwa, itu adalah terowongan di atas terowongan.
sumber