Gunakan browser nyata, bukan w3m pada koneksi SSH

10

Saya menggunakan Ubuntu sebagai OS desktop dan server. Ketika saya masuk ke server via sshon terminaldan harus melihat halaman web (localhost) di server saya menggunakan w3m ( w3m localhost).

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

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

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

Lubang
sumber
Bukan jawaban untuk pertanyaan Anda, tapi ... bagaimana dengan menggunakan penerusan X ?.
Javier Rivera
1
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, berat pada bandwidth dan saya tidak akan merekomendasikannya untuk koneksi non-lokal.
Carsten Thiel
Itu di satu sisi untuk tujuan pengujian sehingga perlu localhost. Di sisi lain server jarak jauh tidak di jaringan lokal dan tidak dapat dijangkau melalui http normal.
Pit
Ya, bandwidth menjadi perhatian saat meneruskan X.
Javier Rivera

Jawaban:

14

Gunakan ssh port forwarding.

Terhubung ke server jarak jauh dengan sesuatu seperti ini:

ssh -L 8080:localhost:80 user@remoteserver

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

Javier Rivera
sumber
Saya baru saja menguji ini pada server di jaringan lokal saya, dan sepertinya berfungsi. Saya akan mengujinya nanti dengan server jarak jauh.
Pit
6

BAGIAN 1

Buat proxy kaus kaki dengan ssh!

ssh -D 9999 user@remoteserver

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

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 bisa menggunakan ip lokal dari server ..

Jika Anda tidak menyukai penjelasan saya, tautan ini menggerakkan ingatan 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 refusedsama sekali tidak ada hubungannya dengan ssh. Tampaknya Anda mencoba mengakses beberapa hal mysql. Ini memiliki tantangan ekstra, karena mysql memblokir akses dari terowongan ssh secara default. Saya tidak melakukan mysql, jadi saya tidak tahu apa yang saya bicarakan selama ini. Saya hanya mengutip bit tautan yang relevan di bagian akhir, yang harus Anda baca.

Buka /etc/mysql/my.cnf dan cari bagian [mysqld]. Jika Anda melihat baris "lewati jaringan", beri komentar. 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@remoteserverluar biasa jika Anda hanya perlu akses ke satu lokasi. Ini memungkinkan Anda mengakses localhost, dan meninggalkan sisa internet Anda sendiri. Solusi saya dengan ssh -D berjalan lebih jauh, dan sebenarnya akan mengarahkan semua permintaan http Anda ke server jauh. Jelas Anda mungkin tidak benar-benar menginginkan ini. Tapi saya merasa bermanfaat ketika saya ingin akses http ke semua mesin di jaringan, atau ketika saya tidak ingin permintaan http saya melalui jaringan yang saya kirim (yaitu perbankan online di starbucks. Semua traffic saya masuk melalui terowongan ssh ke internet rumah saya.)

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

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

  1. Saat terhubung dengan SSH ke server, tambahkan flag -X. Sebagai contoh ssh -X myserver,.
  2. Instal browser GUI di server dan jalankan saja. Output akan muncul di komputer pribadi Anda melalui penerusan X dan koneksi SSH aman.
pengguna4124
sumber
Seperti yang disebutkan Carsten dalam komentarnya terhadap pertanyaan saya dan mengenai server jarak jauh tidak di jaringan lokal saya, bagaimana dengan bandwidth?
Pit
Anda perlu menentukan persyaratan bandwidth Anda. Jika gagal, Anda bisa mencobanya dan melihat cara kerjanya.
user4124