Pertanyaan Gunakan browser nyata, bukan w3m pada koneksi SSH


Saya menggunakan Ubuntu sebagai OS desktop dan server. Ketika saya masuk ke server melalui ssh di terminal dan harus melihat halaman-web (localhost) di server saya menggunakan w3m (w3m localhost).

Sayangnya w3m tidak mudah ditangani, karena halaman memiliki beberapa menu besar dan menggunakan jQuery. Jadi saya bertanya-tanya apakah mungkin untuk menggunakan browser di Desktop saya untuk terhubung ke server melalui SSH dengan browser nyata (Firefox atau Chrome).

Pada dasarnya itu akan perlu terhubung dengan browser di desktop saya ke server melalui SSH dengan username dan password, dan buka di server itu localhost.

Apakah ini mungkin secara default, atau adakah add-on untuk Firefox / Chrome? Saya lebih suka Firefox.


9
2018-01-26 07:46


asal


Bukan jawaban atas pertanyaan Anda, tapi ... bagaimana dengan menggunakan X forwarding? - Javier Rivera
Mengapa Anda tidak dapat terhubung ke server jauh melalui http? Apakah Anda secara khusus memerlukan permintaan untuk berasal dari localhost untuk tujuan pengujian? @ Javier X forwarding, terutama untuk firefox, sangat bergantung pada bandwidth dan saya tidak akan merekomendasikannya untuk koneksi non-lokal. - Carsten Thiel
Ini di satu sisi untuk tujuan pengujian sehingga perlu menjadi localhost. Di sisi lain, server jauh tidak berada di jaringan lokal dan tidak dapat dijangkau melalui http normal. - Pit
Ya, bandwidth adalah masalah ketika meneruskan X. - Javier Rivera


Jawaban:


Gunakan penerusan port ssh.

Sambungkan ke server jarak jauh dengan sesuatu seperti ini:

ssh -L 8080:localhost:80 user@remoteserver

Sekarang, arahkan browser lokal Anda ke localhost: 8080. Ini harus diteruskan ke localhost: 80 di server jauh.


14
2018-01-26 09:49



Saya baru saja menguji ini di server di jaringan lokal saya, dan tampaknya berfungsi. Saya akan mengujinya nanti dengan server jauh. - Pit


BAGIAN 1

Buat proxy kaus kaki dengan ssh!

ssh -D 9999 user@remoteserver

Sekarang buka preferensi Firefox Anda, buka Advanced> Network> Settings. Pilih konfigurasi proxy manual. Masukkan localhost untuk SOCKS Host, masukkan 9999 untuk port. Uji dengan pergi http://whatismyip.org atau beberapa situs serupa.

Karena Anda mengatakan Anda mencoba mengakses halaman web di localhost (relatif terhadap server Anda), Anda mungkin tidak ingin mengecualikan localhost dan 127.0.0.1 dari menggunakan proxy. Tentu saja, Anda hanya bisa menggunakan ip lokal dari server ..

Jika Anda tidak menyukai penjelasan saya, tautan-tautan ini menelusuri memori saya saat menulis ini:

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

BAGIAN 2

Kesalahan yang Anda dapatkan, channel 3: open failed: connect failed: Connection refused sama sekali tidak ada hubungannya dengan ssh. Rupanya Anda mencoba mengakses beberapa hal mysql. Ini memiliki tantangan tambahan, karena mysql memblokir akses dari ssh tunnel secara default. Saya tidak melakukan mysql, jadi saya tidak tahu apa yang saya bicarakan selama sisa ini. Saya hanya mengutip bagian yang relevan dari tautan di bagian akhir, yang harus Anda baca.

Buka /etc/mysql/my.cnf dan cari bagian [mysqld]. Jika Anda melihat baris "skip-networking", komentar itu. Tambahkan "bind-address = 127.0.0.1" (tanpa tanda kutip, tentu saja).

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

Bagian 3

Solusi Javier ssh -L 8080:localhost:80 user@remoteserver fantastis jika Anda hanya perlu akses ke satu lokasi. Ini memungkinkan Anda mengakses localhost, dan meninggalkan sisanya dari internet Anda sendiri. Solusi saya dengan ssh -D berjalan lebih jauh, dan benar-benar mengarahkan semua permintaan http Anda ke server jauh. Tentunya Anda mungkin tidak benar-benar menginginkan ini. Tapi saya telah menemukan itu berguna ketika saya ingin akses http ke semua mesin di jaringan, atau ketika saya tidak ingin permintaan http saya melalui jaringan saya terhubung ke (yaitu, perbankan online di starbucks. Semua lalu lintas saya pergi melalui terowongan ssh ke internet rumah saya.)


6
2018-01-26 10:33



Saat meminta 'localhost' di firefox saya mendapatkan kesalahan di terminal tempat saya membuka koneksi ssh: channel 3: open failed: connect failed: Connection refused. Saya tidak punya waktu untuk melihatnya, tetapi mungkin Anda tahu apa itu? - Pit
Saya hanya melihat di halaman manual ssh bahwa Anda harus menjadi root untuk menggunakan -D pilihan. Ini adalah alasan mengapa tidak dan tidak akan berfungsi, karena saya tidak dapat terhubung sebagai root ke server (untuk alasan keamanan). - Pit
Apa? Saya menggunakan ini sepanjang waktu sebagai pengguna normal di kedua ujung terowongan. Oh begitu. Anda harus menjadi root jika Anda mencoba dan menggunakan port seperti 80, atau 21, atau port lain yang dicadangkan IANA. Lebih dari 1024 seharusnya baik-baik saja. Saya pikir kesalahan ada hubungannya dengan pemblokiran ssh.conf Anda ke depan. Saya googling sepanjang garis sekarang. - djeikyb
Saya mencari kesalahan Anda, dan muncul dengan artikel ini yang mengatakan bahwa mysql memiliki "fitur" keamanan yang memblokir akses dari port ke depan secara default. debuntu.org/ ... - djeikyb


Anda dapat menggunakan X meneruskan melalui SSH sehingga setiap aplikasi X yang Anda jalankan di server akan muncul di komputer pribadi Anda.

  1. Saat menghubungkan dengan SSH ke server, tambahkan tanda -X. Sebagai contoh, ssh -X myserver.
  2. Instal browser GUI di server dan jalankan. Output akan muncul di komputer pribadi Anda melalui X forwarding dan koneksi SSH yang aman.

2
2018-01-26 09:09



Seperti Carsten disebutkan dalam komentarnya untuk pertanyaan saya dan menganggap bahwa server jauh tidak di jaringan lokal saya, bagaimana dengan bandwidth? - Pit
Anda perlu menentukan persyaratan bandwidth Anda. Kegagalan itu, Anda dapat memberikan ini pergi dan melihat cara kerjanya. - user4124