ssh tunnel zanjiri

Mana stsenariy

Men server3 ga scp ruxsatini olishga harakat qilyapman, lekin 1-serverga faqat umumiy ssh ruxsati bor. Server3 ga ssh ni server1 ga, ssh ni server2 ga, so‘ngra server3 ga ssh ni ishlatishim kerak.

Mening umid qilamanki, men localhost: 8022-ga WinSCP-ni qo'llashim mumkin va bu menga server3-ga faylga kirish imkonini beradi.

Men ssh tunnellaridan foydalanishga harakat qilyapman, lekin men o'qigan barcha darsliklar va savollar orqali hech biri bu stsenariy uchun ishlamayapti.

Men Windows-da putty-dan foydalanaman.

Har qanday takliflar haqiqatan ham foydali bo'ladi. Rahmat.


person Community    schedule 18.06.2009    source manba


Javoblar (6)


OpenSSH-da men tunnellar kerak bo'lganda ushbu sozlamadan foydalanaman. Bu menga birinchi navbatda server2 va server1 tunnellarini qo'lda ishga tushirish haqida tashvishlanmasdan to'g'ridan-to'g'ri sftp server3 kiritish imkonini beradi.

# ~/.ssh/config

# to connect to server2, tunnel through server1
Host server2
ProxyCommand ssh server1 nc %h %p

# to connect to server3, tunnel through server2
Host server3
ProxyCommand ssh server2 nc %h %p

To'liqroq bo'lish uchun men odatda ssh -oCiphers=arcfour128,arcfour256,arcfour,blowfish-cbc -oControlMaster=no -oForwardX11=no -oForwardAgent=no -oPermitLocalCommand=no -oClearAllForwardings=yes server1 nc %h %p ni ProxyCommand sifatida ishlataman.

  • Tunnel qilinayotgan ssh ulanishi allaqachon shifrlangan, shuning uchun tashqi qatlam uchun og'irroq aes/3des dan foydalanishning ma'nosi yo'q; arcfour va blowfish tezroq.
  • Qolgan -o**** sozlamalari paranoyyadan tashqari, ssh_config ga juda g'alati sozlamalarga ega Host server1 band qo'shilsa ham hech narsa buzilmaydi.

Xuddi shunday, siz PuTTY-ni plink -P %proxyport -pw %pass %user@%proxyhost nc %host %port proksi buyrug'idan foydalanish uchun sozlashingiz va proksi-server nomi/port/foydalanuvchi/parolni ulanish/proksi-server konfiguratsiya panelida mos ravishda o'rnatishingiz mumkin. plink va PuTTY to'plamining qolgan qismi (pscp, psftp va boshqalar) PuTTY grafik konfiguratsiyasida saqlangan hamma narsani yuklaydi; umid qilamanki, WinSCP ham qiladi. (Men undan foydalanmayman, shuning uchun uning xususiyatlari bilan unchalik tanish emasman.)

person ephemient    schedule 13.07.2009
comment
Buni qilishga urinib ko'rganimda, men bash: nc: buyrug'i topilmadi - bu qanday ishlashini noto'g'ri tushundimmi? Buyruq va portlarni nc %h %p bo'lgan joylarga qo'yishim kerakmi? - person Zak; 28.11.2015

Aqlga keladigan birinchi yechim bu har bir serveringizga bitta mahalliy portni tunnel qilishdir. SSH 22-portdan foydalanganligi sababli, biz har bir SSH ulanishidan mahalliy portni keyingi serverning 22-portiga tunnel qilish uchun foydalanamiz.

PuTTY-ni ochganingizda, siz PuTTY konfiguratsiyasi dialog oynasiga duch kelasiz. Tahrirlashingiz kerak bo'lgan ikkita toifa: "Sessiya" va "Ulanish → SSH → Tunnellar".

  1. PuTTY nusxasini oching. Ushbu sozlamalardan foydalaning:

    • Xostga ulaning

      • Host name: server1
      • Port: 22
    • Portni tunnel

      • Local mode
      • Manba porti: 15500
      • Manzil: server2:22 (xavfsiz qobiq porti)

        Qo'shish tugmasini bosishdan oldin PuTTY konfiguratsiya oynasiQo'shish tugmasini bosgandan so'ng PuTTY konfiguratsiya oynasi

    Endi har safar mahalliy kompyuteringizdagi 15500 portiga ulanganingizda ulanishingiz server2 ning 22-portiga tunnel qilinmoqda.

  2. PuTTY nusxasini oching. Ushbu sozlamalardan foydalaning:

    • Connect to host
      • Host name: localhost
      • Port: 15500
    • Tunnel a port
      • Local mode
      • Manba porti: 15501
      • Manzil: server3:22 (xavfsiz qobiq porti)
  3. PuTTY nusxasini oching. Ushbu sozlamalardan foydalaning:

    • Connect to host
      • Host name: localhost
      • Port: 15501
    • Tunnel a port
      • Local mode
      • Manba porti: 15502
      • Manzil: server3:22 (xavfsiz qobiq porti)
  4. 15502 portidagi localhost ga ulanish uchun WinSCP dan foydalaning. Ulanishingiz xuddi server3 tarmog‘iga to‘g‘ridan-to‘g‘ri ulanayotgandek tunnellanadi.

Bu siz uchun ishlaydimi yoki yo'qligini izohlarda menga xabar bering. Omad!

person Wesley    schedule 18.06.2009
comment
ha, men bu ishlarni tasdiqlashim mumkin. Men ikkitadan ortiq SSH-ni bir-biriga bog'lamadim, lekin agar u 2 uchun ishlasa, u 3 va undan keyin ishlaydi. - person Jeff Atwood; 10.11.2012

Bu usul ochiq ssh konfiguratsiya faylida proksi buyrug'idan foydalanish usuliga o'xshaydi.

Ushbu usulning zaruriy sharti shundaki, Pageant barcha oraliq (proksi) xostlar tomonidan ochiq kalit autentifikatsiyasi bilan ishlatilishi kerak, aks holda siz miltillovchi kursorga ega bo'lasiz va boshqa hech narsa bo'lmaydi. Pageant, PuTTYgen va ochiq kalitlar haqida ko'proq ma'lumot olish uchun qarang:
http://the.earth.li/~sgtatham/putty/0.62/htmldoc/Chapter8.html#pubkey
http://the.earth.li/~sgtatham/putty/0.62/htmldoc/Chapter9.html#pageant

Bizda ushbu tartibda to'rtta mashina mavjud
PuttyPC -> server01 -> server02 -> server03

Server01 uchun bizda Putty-da saqlangan sessiya mavjud:
Asosiy oyna: user1@server01 // port 22 // SSH
Ushbu seansni server01 sifatida saqlash

Server02 uchun bizda Putty-da saqlangan sessiya mavjud:
Asosiy oyna: user2@server02 // port 22 // SSH
Proksi-serverni sozlash oynasi: local yozing // proksi buyrug'i plink -load server01 -nc %host:%port
Ushbu seansni server02 sifatida saqlang

Server03 uchun bizda Putty-da saqlangan sessiya mavjud:
Asosiy oyna: user3@pc3 // port 22 // SSH
Proksi-serverni sozlash paneli: local yozing // proksi buyrug'i plink -load server02 -nc %host:%port
Ushbu seansni server03 sifatida saqlang

Bu shuni anglatadiki, server03 uchun saqlangan seans server02 uchun saqlangan seansni chaqiradi va server02 saqlangan sessiya server01 sessiyasini chaqiradi.

person Tim    schedule 09.02.2012
comment
juda yaxshi yechim. Windows, macun va winscp bilan mukammal birlashadi. Iloji bo'lsa, ikki marta ovoz bergan bo'lardim. - person helt; 15.01.2016

Yaxshi tasvirlangan Perl skript yechimi bu yerda. E'londagi sharhlarni ham o'qing.

SSH agentini yo'naltirish bo'yicha ko'proq o'qing (Perl skripti posti sharhlarida keltirilgan) .

person nik    schedule 18.06.2009

Javob server3 dan tunnelni qaytarish edi

person Community    schedule 18.06.2009

Agar siz faqat bitta serverdan oshib ketishingiz kerak bo'lsa, men WinSCP-ni to'g'ridan-to'g'ri sozlashni osonlashtirdim.

stsenariy: kompyuter->server1->server2

1: Server2 ga ulanishni o'rnating

2: Kengaytirilgan->Ulanish->Tunnel-ni bosing

3: SSH tunnelini yoqing va xostni server1 ga o'rnating

person Joakim Palmkvist    schedule 19.01.2017