SSH bağlantılarında w3m yerine gerçek tarayıcı kullan


10

Masaüstü ve sunucu işletim sistemi olarak Ubuntu kullanıyorum. Sunucuyla sshon üzerinden oturum açtığımda ve sunucuda terminalbir web sayfasını (localhost) görüntülemek zorunda kaldığımda w3m ( w3m localhost) kullanıyorum.

Maalesef w3m'nin kullanımı o kadar kolay değil, çünkü sayfa bazı büyük menülere sahip ve jQuery kullanıyor. Bu yüzden gerçek bir tarayıcı (Firefox veya Chrome) ile SSH aracılığıyla sunucuya bağlanmak için Masaüstümde bir tarayıcı kullanmanın mümkün olup olmadığını merak ediyorum.

Temelde bu bir ile SSH üzerinden sunucuya benim masaüstünde tarayıcı ile bağlanmak için gerektirecektir usernameve passwordbu sunucuda ve açık localhost.

Bu varsayılan olarak mümkün mü, yoksa Firefox / Chrome için herhangi bir eklenti var mı? Firefox'u tercih ederim.


Sorunuza bir cevap değil, ama ... X yönlendirmeyi kullanmaya ne dersiniz?
Javier Rivera

1
Uzak sunucuya neden http yoluyla bağlanamıyorsunuz? Özellikle test amacıyla localhost'tan çıkış talebine mi ihtiyacınız var? @Javier X yönlendirme, özellikle firefox için, bant genişliğinde ağırdır ve yerel olmayan bağlantılar için tavsiye etmem.
Carsten Thiel

Bir yandan test amaçlıdır, bu yüzden localhost olması gerekir. Diğer yandan uzak sunucu yerel ağda değil ve normal http üzerinden erişilemiyor.
Pit

Evet, X'in iletilmesi sırasında bant genişliği endişe vericidir
Javier Rivera

Yanıtlar:


14

Ssh port yönlendirme kullanın.

Uzak sunucuya şu şekilde bağlanın:

ssh -L 8080:localhost:80 user@remoteserver

Şimdi, yerel tarayıcınızı localhost'a yönlendirin: 8080. Uzak sunucuda localhost: 80'e iletilmelidir.


Bunu yerel ağımdaki bir sunucuda test ettim ve işe yarıyor gibi görünüyor. Daha sonra uzak sunucu ile test edeceğim.
Pit

6

BÖLÜM 1

SSH ile çorap proxy yapın!

ssh -D 9999 user@remoteserver

Şimdi Firefox tercihlerinizi açın, Gelişmiş> Ağ> Ayarlar'a gidin. Manuel proxy yapılandırması'nı seçin. SOCKS Host için localhost koyun, port için 9999 koyun. Http://whatismyip.org veya benzeri bir siteye giderek test edin .

Localhost'ta (sunucunuza göre) bir web sayfasına erişmeye çalıştığınızı söylediğiniz için, localhost ve 127.0.0.1'i proxy'yi kullanmaktan çıkarmak istemeyebilirsiniz. Tabii ki, sadece sunucunun yerel ip kullanabilirsiniz.

Açıklamamdan hoşlanmıyorsanız, bu bağlantılar bunu yazarken hafızamdan geçti:

http://linux.die.net/man/1/ssh

http://embraceubuntu.com/2006/12/08/ssh-tunnel-socks-proxy-forwarding-secure-browsing/

https://calomel.org/firefox_ssh_proxy.html

BÖLÜM 2

Aldığınız hatanın channel 3: open failed: connect failed: Connection refusedkesinlikle ssh ile ilgisi yok. Görünüşe göre bazı mysql şey erişmeye çalışıyorsun. Bunun ekstra bir zorluğu vardır, çünkü mysql varsayılan olarak ssh tünellerinden erişimi engeller. MySQL yapmıyorum, bu yüzden bunun geri kalanı için neden bahsettiğimi bilmiyorum. Sonunda sadece bağlamanız gereken bağlantının ilgili bitlerinden alıntı yapıyorum.

/Etc/mysql/my.cnf dosyasını açın ve [mysqld] bölümünü bulun. "Skip-networking" satırını görürseniz, yorum yapın. "Bind-address = 127.0.0.1" ifadesini ekleyin (elbette tırnak işaretleri olmadan).

http://www.debuntu.org/port-forwarding-and-channel-3-open-failed-connect-failed-Connection-refused

3.Bölüm

ssh -L 8080:localhost:80 user@remoteserverSadece bir konuma erişim gerekiyorsa Javier'in çözümü harika. Localhost'a erişmenizi sağlar ve internetinizin geri kalanını yalnız bırakır. Ssh -D ile çözümüm daha da ileri gider ve aslında tüm http isteklerinizi uzak sunucuya yönlendirir. Açıkçası bunu istemeyebilirsiniz. Ama bir ağdaki tüm makinelere http erişimi istediğimde ya da http isteklerimin ağ üzerinden geçmesini istemediğimde (yani starbucks'ta çevrimiçi bankacılık. ssh tünelinden ev internetime.)


Firefox I 'localhost' talep eden ben SSH bağlantısı açılmış terminalde bir hata alıyorum: channel 3: open failed: connect failed: Connection refused. Bakacak zamanım yoktu, ama belki de bunun ne olabileceğini biliyor musun?
Pit

Ssh'nin man sayfasında -Dseçeneği kullanmak için root olmanız gerektiğini gördüm . Bu yüzden sunucuya kök olarak bağlanamadığım için işe yaramadı ve çalışmayacak (güvenlik nedeniyle).
Pit

Ne? Bunu her zaman tünelin her iki ucunda da normal bir kullanıcı olarak kullandım. Ah anlıyorum. 80 veya 21 gibi bir bağlantı noktası veya diğer IANA ayrılmış bağlantı noktalarından herhangi birini denemeye ve kullanmaya çalışırsanız kök olmanız gerekir. 1024'ten fazla bir şey iyi olmalı. Hata ssh.conf ileri engelleme ile ilgili olduğunu düşünüyorum. Şimdi bu çizgilerden geçiyorum.
djeikyb

Hatanızı googled ve mysql'ın varsayılan olarak bağlantı noktasından ileriye doğru erişimi engelleyen bir güvenlik "özelliği" olduğunu belirten bu makaleyi buldum. debuntu.org/…
djeikyb

2

Sunucuda çalıştırdığınız tüm X uygulamalarının kişisel bilgisayarınızda görünmesi için SSH üzerinden X iletmeyi kullanabilirsiniz.

  1. SSH ile sunucuya bağlanırken -X bayrağını ekleyin. Örneğin ssh -X myserver,.
  2. Sunucuya bir GUI tarayıcısı kurun ve çalıştırın. Çıkış, X iletme ve güvenli SSH bağlantısı aracılığıyla kişisel bilgisayarınızda görünecektir.

Carsten'in soruma yaptığı yorumunda belirttiği ve uzak sunucunun yerel ağımda olmadığı ile ilgili olarak, bant genişliği ne olacak?
Pit

Bant genişliği gereksinimlerinizi tanımlamanız gerekir. Bunu başaramazsanız, bunu deneyebilir ve nasıl çalıştığını görebilirsiniz.
user4124
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.