Akses terminal server Anda melalui browser web Anda

Misalkan untuk beberapa alasan kita tidak dapat mengakses server kita dengan terminal, karena mungkin, kita sedang berjalan di jalan dan kita hanya memiliki ponsel kita di atas, dan karena kita bukan pecandu atau apapun, kita belum menginstal aplikasi apapun dari tipe ini.

Lalu apa yang kita lakukan? Tidak ada, kita tidak dapat melakukan apapun sampai kita pulang atau bekerja, mengakses server kita dan menginstal shellinabox. Tapi apa itu, apakah kamu makan?

shellinabox

shellinabox mengimplementasikan Sebuah server web yang bisa untuk ekspor alat garis perintah ke a emulator terminal berbasis web. Emulator ini dapat diakses dari browser apa pun yang mendukung JavaScript dan CSS y tidak membutuhkan tidak ada Plugin fungsi tambahan.

Meskipun proyek aslinya dihentikan, masih ada garpu di Github yang memungkinkan kita untuk menginstalnya jika kita tidak memilikinya di repositori. Dalam kasus Ubuntu 14.04, jadi kita hanya perlu membuka terminal dan meletakkan:

$ sudo apt install shellinabox openssl ca-certificates

Dalam kasus dua paket terakhir, ini dalam kasus kami belum menginstalnya. Dan setelah ini selesai, kita sekarang dapat mengakses terminal kita di web dengan meletakkan di browser:

http://la_ip_o_nombre_del_servidor:4200

shellinabox

Gunakan Shellinabox melalui port 80

Seperti yang Anda lihat, secara default Shellinabox menggunakan porta 4200 dan kami mungkin tidak dapat mengaksesnya jika diblokir oleh penyedia layanan kami. Kita dapat menggunakan varian yang tidak aman tetapi berfungsi, yang akan digunakan shellinabox Di pelabuhan 80, meskipun nanti saya akan menunjukkan cara menggunakan file 443 jika kami memilikinya.

Apa yang akan kami lakukan adalah mengakses Shellinabox dengan meletakkan di browser kami:

http://la_ip_o_nombre_del_servidor/terminal

Untuk melakukan ini, hal pertama yang kami lakukan adalah menginstal NGinx:

$ sudo apt install nginx

Sekarang kami membuat file / etc / nginx / sites-enabled / shellinabox dan kami memasukkannya ke dalam:

 server {proxy_set_header Host $ http_host; proxy_set_header X-Forwarded-Host $ http_host; proxy_set_header X-Real-IP $ remote_addr; proxy_set_header X-Forwarded-Untuk $ proxy_add_x_forwarded_for; lokasi / terminal / {proxy_pass http: // localhost: 4200 /; }}

Kami mengedit file / etc / default / shellinabox dan kami meletakkan di akhir:

SHELLINABOX_ARGS="--localhost-only --disable-ssl"

Kami reboot Nginx y shellinabox:

$ sudo /etc/init.d/shellinabox mulai ulang $ sudo /etc/init.d/nginx restart

Dan siap!!

Gunakan Shellinabox melalui port 443

Proses ini sedikit lebih rumit, karena kami harus membuat sertifikat SSL kami. Untuk ini kami akan melakukan hal berikut:

Pertama kami menginstal OpenSSL:

$ sudoapt-get install openssl

Kami membuat kunci pribadi:

openssl genrsa -out server.key 2024

Kami membuat dasar sertifikat, tempat kami akan meletakkan serangkaian data:

openssl req -new -key server.key -out server.csr

Data yang akan kami isi adalah:

  • Nama Negara (kode 2 huruf): Kode negara dalam format ISO dua huruf (mis .: ES, US, CU, MX ..).
  • Nama Negara Bagian atau Provinsi (nama lengkap): Negara bagian atau provinsi (misal: Florida).
  • Nama Lokalitas: Kota atau kota (misal: Miami).
  • Nama Organisasi: Nama organisasi, (misal: DesdeLinux).
  • Nama Unit Organisasi: Sektor organisasi (mis .: Blog).
  • Nama yang umum: Nama domain atau FQDN. Penting untuk diketahui bahwa ada perbedaan antara sebuah blog.desdelinux.net dan desdelinux.bersih. Anda harus mendaftarkan sertifikat untuk salah satunya.
  • Alamat Surel: Hubungi alamat surel.
  • Kata sandi tantangan: Dalam putih.
  • Nama perusahaan opsional: Dalam putih.

Sekarang kami membuat sertifikat SSL, yang akan mengambil data yang kami masukkan:

openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

Kami menyalin sertifikat ke folder SSL di dalam / etc:

$ sudo cp server.crt /etc/ssl/certs/ssl.crt $ sudo cp server.key /etc/ssl/certs/ssl.key

Kami mengedit file lagi file tersebut / etc / default / shellinabox dan kami mengubah apa yang kami taruh, pada akhirnya:

SHELLINABOX_ARGS="--no-beep"

Sekarang kami mengedit file / etc / nginx / sites-enabled / shellinabox dan kami memasukkannya ke dalam:

 server {dengarkan 80; mengembalikan 301 https: // $ host $ request_uri; } server {dengarkan 443; server_name myvps.com; ssl_certificate /etc/ssl/certs/ssl.crt; ssl_certificate_key /etc/ssl/certs/ssl.key; ssl aktif; ssl_session_cache bawaan: 1000 dibagikan: SSL: 10m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH :! aNULL :! eNULL :! EKSPOR :! CAMELLIA :! DES :! MD5 :! PSK :! RC4; ssl_prefer_server_ciphers aktif; access_log /var/log/nginx/shellinabox.access.log; lokasi / terminal {proxy_set_header Host $ host; proxy_set_header X-Real-IP $ remote_addr; proxy_set_header X-Forwarded-Untuk $ proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $ skema; # Perbaiki kesalahan “Tampaknya penyiapan proxy balik Anda rusak". Proxy_pass http: // localhost: 4200 /; proxy_read_timeout 90; proxy_redirect http: // localhost: 4200 https://myvps.com/terminal/;} }

Kami memulai kembali layanan:

$ sudo /etc/init.d/shellinabox mulai ulang $ sudo /etc/init.d/nginx restart

dan kami mengakses

http://la_ip_o_nombre_del_servidor/terminal

yang seharusnya mengarahkan kita ke:

https://la_ip_o_nombre_del_servidor/terminal

Dan itu saja.


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.

  1.   badut dijo

    Itu mengingatkan saya pada apa yang keluar dari seri CSI

  2.   Drassil dijo

    Posting paling menarik; Saya belum pernah mendengar tentang utilitas ini dan sebenarnya ini paling menarik dan berguna ... Saya harus berasumsi bahwa konsep ini telah diterapkan pada Ngix, tetapi juga dapat diterapkan pada Apache, bukan?

  3.   mat1986 dijo

    Ini mengingatkan saya pada cara kerja Butterfly, terutama saat menggunakan terminal dari browser. Tentu saja, tidak serumit yang mereka tunjukkan di sini 🙂

  4.   xykyz dijo

    «Misalkan untuk beberapa alasan kita tidak dapat mengakses server kita dengan terminal, karena mungkin, kita sedang berjalan di jalan dan kita hanya memiliki ponsel kita di atas, dan karena kita bukan pecandu atau apapun, kita belum menginstal aplikasi apapun jenis ini. "

    Bagaimana kita ingin masuk ke server kita jika kita bukan ahli? ha ha ha

    Menurut saya, menggunakan aplikasi ssh jauh lebih cepat daripada menggunakan browser dan Anda menghindari penginstalan perangkat lunak di server, tetapi ini masih merupakan opsi yang menarik.

  5.   Tidak adax dijo

    Keuntungan bila Anda berada di tempat dengan Windows murni.

  6.   nama dijo

    "Keuntungan bila Anda berada di tempat dengan Windows murni."
    memasukkan ……………… dempul atau kucing.

  7.   Jose Manuel Higuera dijo

    pria luar biasa ini super terima kasih atas kontribusinya