SSH, uzak bir SSH oturumundan yerel makineye geri dönüyor


12

SSH ile (benim için zaten) oldukça sıradışı bir şey yapmaya çalışıyorum ve işe yarayamıyorum, umarım yardımcı olabilirsiniz.

SSH kullanarak Mac bilgisayarımdan uzak bir sunucuya bağlantı kurmak istiyorum. Çok uzak çok iyi. Şimdi zor bit, uzak sunucu bağlantısı kurulduktan sonra uzak sunucudan yerel makineye GERİ bir bağlantı başlatmak istiyorum. Biliyorum, deli. Temelde, uzak sunucuya göz atmak ve daha sonra yerel makinedeki bir dosya tarafından ele alınabilmesi için dosya bilgilerimi yerel makineme geri göndermek için bu çemberlerden atlamam gerekiyor. Umarım bu mantıklıdır!

Şu anda uzak sunucuya giriş yaptıktan sonra yerel makineye SSH geri dönersem, terminal sadece orada oturarak oturacak, -v ile bile hata yok.

Nerede $ SSH_CLIENT değişken çıktı bakarak arayarak bulmaya çalışıyorum, ama standart bir vanilya internet bağlantısı (statik IP adresi) değilim Ben bu soruna ne neden olabilir düşünüyorum.

Kurduklarım: Bir Mac'im (OS X 10.6.4) ve sistem tercihlerinde / paylaşımında Uzaktan Oturum Açma özelliğini etkinleştirdim Eğer LAN üzerinden başka bir makineden mac'uma SSH'yi denersem ve sorun çıkarmam. Uzak sunucumdan başka bir sunucuya (yerel makineme değil) SSH denersem, sorunsuz bir şekilde bağlanabilirim.

Yukarıdaki gerçekler, yerel ve uzak makinelerdeki güvenlik duvarları vb. Konusunda net olduğumu düşündürüyor.

Eminim burada oldukça açık bir şey eksik olmalıyım, ama hayatım boyunca bunun üstesinden gelemiyorum.

Doğru yönde herhangi bir yardım, bağlantı veya genel dürtme çok takdir edilecektir!


Uzak sunucuya ssh ile göz atabilirsiniz. Yoksa afs kullanmaya mı çalışıyorsunuz? Portforwardings ve / veya sftp / scp hakkında ne dersiniz?
Andreas Rehm

Merhaba. Evet, uzak sunucunun dizin yapısını sorunsuz bir şekilde bağlayabilir ve göz atabilirim. Ne demek istediğinden emin değilim, üzgünüm. Temel olarak plan şudur: Yerel Mac bilgisayarımdan uzak Linux sunucuma ssh yapmak, bir dosyaya göz atmak ve ardından kurulan bağlantıyı geri çekmek (veya önceden kurulmuş olana dayalı yeni bir bağlantı oluşturmak) Mac uygulamasının verileri sunucuya geri göndermeden önce okuyacağı / düzenleyeceği yerel makine. Özellikle bunu diğer protokollerle ilgili olarak nasıl başardığımdan endişe etmiyorum.
i0n

Yanıtlar:


9

Yerelinize geri bağlandığınızda, asılı kalmadan önce oturum açmanıza izin veriyorsa, bu cevap değildir. Bu kadar ilerlemezseniz, muhtemelen Mac'inize geri dönmeyeceksiniz (bir yere gitmiyor veya bir ağ geçidinde SSH'ye çarpıyor). Ters bir tünel deneyin (sunucunuzdaki sshd_config içinde GatewayPorts'un Açık olarak ayarlanmasını gerektirir, ancak bunun varsayılan olduğuna inanıyorum):
you@yourMac$ ssh -R 2000:localhost:22 user@remoteserver
Bu, sunucuya normal olarak bağlanmanıza izin vermeli, ancak tekrar bağlanabilmeniz için bir tünel açmalısınız port 2000 (1024 üzerindeki herhangi bir port çalışmalıdır)you@yourserver$ ssh -p2000 user@localhost

EDIT: Ana bilgisayar adını localhost olarak değiştirdi


2
Son komutta user @ localhost kullanmalısınız
b0fh

1
Bu yardımcı oldu, neredeyse beni olmak istiyorum yere alır! Yukarıdaki gibi ters tünel ile bağlantı kurabilir ve daha sonra ssh -p 2000 i0n @ localhost kullanarak yerel Mac'ime geri dönebilirim. Peki, bu işlevselliğe ihtiyacım olduğunu önceden bilmeden bunu nasıl başarabilirim? Başka bir deyişle, mevcut ve standart bir ssh bağlantısı vardır. Mümkün mü?
i0n

Teşekkürler b0fh, ben yazdım ki ben yoluma gidiyordum =) i0n - içgüdüsel olarak bunu yapmak için mevcut bir bağlantıyı değiştiremeyeceğinizi söylemek istiyorum, ama PuTTY bunu yapabilir, böylece bir yol olmalı. Geri çekmeniz gerektiğinde her zaman bir tünel ile yeni bir SSH bağlantısı gönderebilirsiniz, ancak bunun bir seçenek olmayabileceği için programlı olarak yapılacağını tahmin ediyorum. Bekle konusuna bakın - herhangi bir dil SSH üzerinden hazırsa, bu olacaktır.
James L

2

Yerel makinenize sunucudan erişilebilir mi? Ping atabilir misiniz? Bunu soruyorum çünkü makineniz erişilebilir durumdaysa yaptığınız şey işe yaramalı. Sunucunuz internette mi, LAN'da mı, aynı alt ağda mı?

Her neyse, yalnızca bir dosyayı düzenlemeniz gerekiyorsa, dosyayı yerel makinenize kopyalamak için neden scp kullanmıyorsunuz? Uzak sunucudaki dosyaya göz atmak için ssh'yi kullanabilirsiniz ve yolunu bulduğunuzda yerel makinenize (başka bir terminalde) girin:

scp user@server:/path/to/file/on/server /local/path/to/save/file

Dosyayı geri koymak için, scp tekrar yolları değiştirerek.

Obs: scp'yi kullanmak için ilk ssh bağlantısına ihtiyacınız yok - yeni bir tane oluşturacak

Bu, terminalde erişmeniz gerektiğidir. Linux'ta (ve kesinlikle Mac'te ama nasıl yapılacağını bilmiyorum), Ağlarda bir ssh uzak konumu bağlayabilir ve yerel bir disk kullandığınızda bağlantıyı kullanabilirsiniz (bu sftp ve bağlantı şu şekildedir: sftp://user@server:/path/to/mountve sanırım dosyayı doğrudan Mac uygulamasıyla düzenleyebilmeniz için uzak terminal bağlantısı yerine ihtiyacınız olan şey bu.


1

Ayrıca bir göz atmak isteyebilirsiniz sshfs( bunun için MacFuse'a ihtiyacınız var ). Bu, dizinleri uzak makineye bağlamanızı ve makinenizdeki normal klasörler gibi bunlara erişmenizi sağlar. Bunun da ötesinde, hala sshmakineye girebilir ve ihtiyacınız olan dosyaları oluşturabilir / arayabilirsiniz. Bu durumda onları aktarmak, yerel dosyaları aktarmak kadar kolay olacaktır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.