Saya punya tiga Komputer.
PC1 dan PC2 ada di LAN pribadi, di mana PC1 dikenal sebagai PC2192.168.0.2
PC2 dan PC3 ada di LAN lain, di mana PC2 dikenal sebagai PC3192.168.123.101
Bagaimana saya bisa terhubung ke PC1 dari PC3 dengan SSH.
Apakah ada sesuatu seperti:
ssh [email protected] -via [email protected]
Menggunakan SSH ada solusi yang jelas:
pada mesin lokal Anda atur
~/.ssh/config
sedemikian rupa sehingga memiliki yang berikut:Pada gateway dan server akhir yang ingin Anda hubungkan, pastikan bahwa Anda memiliki kunci publik klien lokal Anda berada di
~/.ssh/authorized_keys
Pada mesin gateway Anda perlu mengubah
~/.ssh/authorized_keys
sedemikian rupa sehingga di awal baris yang menentukan kunci publik klien Anda, tambahkan perintah paksa sebagai berikut:The
-A
adalah untuk meneruskan agen jika Anda tidak suka untuk mengirim password sepanjang waktu ...Dengan cara ini, kapan pun Anda melakukan sesuatu seperti
ssh WhatYouWillCallTheConnection
itu akan berjalan langsung melalui gateway dan menghubungkan Anda ke server di sisi lain secara transparan.sumber
ssh -A
jika Anda tidak mempercayai administrator mesin gateway. Dia tidak bisa mendapatkan kunci pribadi Anda, tetapi selama Anda terhubung dengan gatewayssh -A
, ia dapat menggunakan agen yang diteruskan untuk terhubung ke mesin lain seperti Anda.Penerusan Port mungkin berguna.
Dari PC1:
7777 dapat berupa sembarang port (asalkan belum digunakan). Saya suka nomor itu, ditambah "pemesanan" yang bisa saya kelola dengan +1 (7778, 7779, dll, dll.).
Ini dilakukan, Anda akan memiliki terowongan 'transparan' dari port lokal PC1 7777 ke port PC3 22. Hanya masalah:
Dan Anda harus menggunakan PC3.
Anda juga dapat menggunakan -D untuk meneruskan port secara dinamis jika Anda ingin proxy SOCKS dibuat.
Bersulang!
sumber
The 2017+ (sejak ssh v7.3) -menanggapi ini adalah ProxyJump :
ssh -J user@jumphost user@destination
, yang merupakan kependekan dari:
ssh -o "ProxyJump user@jumphost" user@destination
Ini dapat disingkat menjadi
ssh dest
dengan~/.ssh/config
cuplikan seperti:sumber
Satu-satunya solusi yang saya tahu untuk ini adalah ssh scripting dengan Belier :
Beberapa waktu yang lalu saya menemukan README ini. Shsh di Homepage Laboratorium Lincoln MIT, tetapi saya tidak dapat menemukan informasi lebih lanjut tentang itu. Apakah ada yang tahu lebih banyak?
sumber