Farz edelim ki herhangi bir nedenle sunucumuza bir terminalle erişemiyoruz, çünkü belki de caddede yürüyoruz ve sadece cep telefonumuz var ve inek ya da başka bir şey olmadığımız için, herhangi bir uygulama kurmadık. bu tür.
O halde ne yapacağız? Hiçbir şey, eve ya da işe gidene, sunucumuza erişene ve kurana kadar hiçbir şey yapamayız çöp kutusu. Ama bu ne, yiyor musun?
çöp kutusu
çöp kutusu uygular Bir sunucu yapabilen web ihracat çizgi araçları komut bir bağlantı emülatörü web tabanlı. Bu emülatör destekleyen herhangi bir tarayıcıdan erişilebilir JavaScript ve CSS y gerektirmez Hiçbir çeşit fişe takmak işleve ek.
Orijinal proje durdurulmuş olsa da, Github'da bir çatal bu, depolarda yoksa yüklememize izin verir. Ubuntu 14.04 durumunda, öyle, bu yüzden sadece bir terminal açıp şunu koymamız gerekiyor:
$ sudo apt install shellinabox openssl ca-certificates
Son iki paket söz konusu olduğunda, bunları önceden yüklemediğimiz durumda olabilir. Ve bu yapıldıktan sonra, tarayıcıyı yerleştirerek artık web üzerinden terminalimize erişebiliriz:
http://la_ip_o_nombre_del_servidor:4200
Shellinabox'u 80 numaralı bağlantı noktası üzerinden kullanın
Gördüğünüz gibi, Shellinabox varsayılan olarak bağlantı noktasını kullanır 4200 ve servis sağlayıcımız tarafından engellenirse ona erişemeyebiliriz. Güvenli olmayan ancak işe yarayan bir varyant kullanabiliriz, çöp kutusu Liman tarafından 80ancak daha sonra nasıl kullanılacağını göstereceğim 443 elimizde varsa.
Yapacağımız şey, tarayıcımıza girerek Shellinabox'a erişmek:
http://la_ip_o_nombre_del_servidor/terminal
Bunu yapmak için yaptığımız ilk şey NGinx'i kurmak:
$ sudo apt install nginx
Şimdi dosyayı oluşturuyoruz / etc / nginx / sites-etkin / shellinabox ve içine koyarız:
server {proxy_set_header Host $ http_host; proxy_set_header X-Yönlendirilmiş-Ana Bilgisayar $ http_host; proxy_set_header X-Gerçek-IP $ remote_addr; proxy_set_header X-Yönlendirilmiş-$ proxy_add_x_forwarded_for için; konum / terminal / {proxy_pass http: // localhost: 4200 /; }}
Dosyayı düzenliyoruz / etc / default / shellinabox ve sonuna koyuyoruz:
SHELLINABOX_ARGS="--localhost-only --disable-ssl"
Yeniden başlatıyoruz Nginx y çöp kutusu:
$ sudo /etc/init.d/shellinabox restart $ sudo /etc/init.d/nginx restart
Ve hazır!!
Shellinabox'u 443 numaralı bağlantı noktası üzerinden kullanın
Bu süreç biraz daha zahmetli çünkü SSL sertifikalarımızı oluşturmamız gerekiyor. Bunun için aşağıdakileri yapacağız:
İlk önce OpenSSL'yi kuruyoruz:
$ sudo apt-get install openssl
Özel bir anahtar oluşturuyoruz:
openssl genrsa -out server.key 2024
Bir dizi veriyi koyacağımız sertifikanın temelini oluşturuyoruz:
openssl req -new -key server.key -out server.csr
Dolduracağımız veriler şöyle olacaktır:
- Ülke Adı (2 harfli kod): İki harfli ISO biçiminde ülke kodu (örneğin: ES, US, CU, MX ..).
- Eyalet veya İl Adı (tam adı): Eyalet veya il (ör: Florida).
- Yerellik Adı: Kasaba veya şehir (ör. Miami).
- Kuruluş Adı: Kuruluşun adı (ör.: DesdeLinux).
- Organizasyonal birim ismi: Organizasyon sektörü (ör: Bloglar).
- Yaygın isim: Etki alanı adı veya FQDN. Bir blog arasında bir fark olduğunu bilmek önemlidir.desdelinux.net ve desdelinux.açık. Sertifikayı biri veya diğeri için kaydetmeniz gerekir.
- E: İletişim e-posta adresi.
- Sınama şifresi: Beyaz.
- İsteğe bağlı bir şirket adı: Beyaz.
Şimdi girdiğimiz verileri alacak olan SSL sertifikasını oluşturuyoruz:
openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Sertifikaları / etc içindeki SSL klasörüne kopyalıyoruz:
$ sudo cp server.crt /etc/ssl/certs/ssl.crt $ sudo cp server.key /etc/ssl/certs/ssl.key
Dosyayı tekrar düzenleriz / etc / default / shellinabox ve son olarak koyduğumuz şeyi değiştiriyoruz:
SHELLINABOX_ARGS="--no-beep"
Şimdi dosyayı düzenliyoruz / etc / nginx / sites-etkin / shellinabox ve içine koyarız:
sunucu {80 dinle; dönüş 301 https: // $ host $ request_uri; } sunucu {listen 443; server_name myvps.com; ssl_certificate /etc/ssl/certs/ssl.crt; ssl_certificate_key /etc/ssl/certs/ssl.key; ssl açık; ssl_session_cache builtin: 1000 paylaşımlı: SSL: 10m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers YÜKSEK :! aNULL :! eNULL :! İHRACAT :! CAMELLIA :! DES :! MD5 :! PSK :! RC4; ssl_prefer_server_ciphers açık; access_log /var/log/nginx/shellinabox.access.log; konum / terminal {proxy_set_header Host $ host; proxy_set_header X-Gerçek-IP $ remote_addr; proxy_set_header X-Yönlendirilmiş-$ proxy_add_x_forwarded_for için; proxy_set_header X-Yönlendirilmiş-Proto $ düzeni; # "Ters proxy kurulumunuz bozuk görünüyor" hatasını düzeltin. Proxy_pass http: // localhost: 4200 /; proxy_read_timeout 90; proxy_redirect http: // localhost: 4200 https://myvps.com/terminal/;} }
Hizmetleri yeniden başlatıyoruz:
$ sudo /etc/init.d/shellinabox restart $ sudo /etc/init.d/nginx restart
ve erişiyoruz
http://la_ip_o_nombre_del_servidor/terminal
bizi şuraya yönlendirmeli:
https://la_ip_o_nombre_del_servidor/terminal
Ve hepsi bu.
Bana CSI serisinde çıkanları hatırlattı
En ilginç gönderi; Bu yardımcı programı hiç duymamıştım ve gerçek şu ki en ilginç ve kullanışlı ... Bu kavramın Ngix'e uygulandığı gibi, Apache'ye de uygulanabileceğini varsaymalıyım, değil mi?
Özellikle tarayıcıdan terminali kullanırken Butterfly'ın nasıl çalıştığını hatırlatıyor. Elbette burada gösterdikleri kadar karmaşık değil 🙂
«Bazı nedenlerden dolayı sunucumuza terminalle erişemediğimizi varsayalım, çünkü belki de caddede yürüyoruz ve sadece cep telefonumuz var ve inek ya da başka bir şey olmadığımız için herhangi bir uygulama yüklemedik. bu türden. "
Eğer inek değilsek sunucumuza nasıl girmek isteyeceğiz? hahaha
Bir ssh uygulamasını kullanmak, bir tarayıcı kullanmaktan çok daha hızlı görünüyor ve sunucuya yazılım yüklemekten kaçınıyorsunuz, ancak yine de ilginç bir seçenek.
Saf Windows bulunan bir yerdeyken avantaj.
"Saf Windows bulunan bir yerdeyseniz avantaj."
entoses ……………… macun veya kedicik.
Harika adamlar, katkılarınız için bu süper teşekkürler