Saya memiliki server linux, dan saya ingin meletakkannya di jaringan rumah di belakang router. Saya perlu ssh ke server ini kadang-kadang dari luar, tetapi saya tidak ingin mengatur port forwarding karena saya tidak memiliki akses ke router, dan saya juga tidak tahu ip dari router.
Yang bisa saya lakukan adalah meletakkan beberapa program di server linux, jadi ketika terhubung ke Internet, ia akan terus mengirim data ke server saya yang lain secara online sehingga saya tahu alamat ipnya. Tetapi apakah ada cara untuk ssh ke server di belakang router dari luar? sesuatu seperti NAT atau soket yang mempertahankan koneksi jaringan?
Terima kasih banyak
sumber
autossh
menjaganya tetap terbuka.Anda dapat menggunakan semacam VPN untuk membuatnya berfungsi, tetapi Anda harus memiliki server yang dapat diakses oleh server yang tidak dapat diakses. Kemudian Anda dapat mengatur OpenVPN di server, PC Anda, dan server firewall, aktifkan
client-to-client
, dan Anda selesai. http://openvpn.net/howto.htmlsumber
Jawaban ini didasarkan pada jawaban yang diterima, tetapi menambahkan detail yang memungkinkan saya menyelesaikannya. Saya minta maaf untuk penjelasan pejalan kaki, karena ini sama sekali bukan keahlian saya.
Misalkan Anda memiliki dua komputer,
A
danB
. Anda inginssh
dariA
keB
, dan Anda tidak dapat melakukan penerusan port di router yang terhubung dengannya.Seperti yang dinyatakan dalam jawaban yang diterima, Anda memerlukan server
S
untuk melakukan ini: di komputerB
, Anda akan mengizinkanssh
koneksi datangS
; dan dari komputerA
, Anda akan mengakses terowongan ituS
untuk mencapaiB
.Tetapi bagaimana Anda mendapatkan server itu
S
? Saya menemukanserveo
(tautan: https://serveo.net/ ). Ini adalah penggunaan yang sangat sederhana. Anda tidak perlu menginstal apa pun atau mendaftar dan gratis. Menurut situs web, langkah-langkah yang harus diikuti adalah:Pikirkan alias untuk komputer
B
. Sebagai contohcomputer_B_alias
,.Di komputer
B
, jalankanssh -R computer_B_alias:22:localhost:22 serveo.net
.Sekarang, Anda dapat mengakses komputer
B
dari komputerA
dengan menjalankan berikut di komputerA
:ssh -J serveo.net user@computer_B_alias
, di mana Anda harus menggantiuser
dengan nama pengguna di komputerB
.PS: Tentu saja, Anda menjadikan poin 2 sebagai tugas otomatis saat memulai komputer Anda
B
.PSS: Sebelum Anda mencoba ini, pastikan yang
ssh
terpasang di kedua komputer. Untuk Ubuntu,sudo apt-get install ssh
akan melakukan pekerjaan itu.sumber
Waktu yang lama untuk menjawab. Berhubungan dengan itu bisa membantu seseorang yang mencari yang sama sekarang.
Jika Anda ingin mengakses server di belakang NAT dan Anda tidak ingin menulis kode, Anda mungkin dapat mencari alat di bawah ini dan menggunakan apa pun yang sesuai dengan kebutuhan Anda.
Kedua alat di atas menganggap Anda memiliki akses ke mesin linux untuk menginstal klien mereka. Beberapa manfaatnya adalah:
Saya pribadi lebih suka tmate lebih karena Anda dapat meng-host server tmate di server perantara Anda sendiri (untuk ssh terbalik) sementara teleconsole hanya dapat terhubung ke server mereka sendiri untuk ssh terbalik.
sumber
Anda bisa menggunakan ngrok . Prosesnya mudah:
sumber