tutorial

Cara Akses SSH Linux Ubuntu dari Luar Jaringan menggunakan IP Public Static via Wireguard

Ingin remote SSH Linux dari luar jaringan, tetapi koneksi internet tempat server berada tidak mendapatkan IP Public Static dari ISP? Anda dapat menggunakan IP Public Static S-Network melalui WireGuard untuk membuat server Linux dapat diakses dari internet tanpa harus mengganti ISP.

Cara Akses SSH Linux Ubuntu dari Luar Jaringan menggunakan IP Public Static via Wireguard

Ingin remote SSH Ubuntu dari luar jaringan , tetapi koneksi internet tempat server berada tidak mendapatkan IP Public Static dari ISP? Anda dapat menggunakan IP Public Static S-Network menggunakan WireGuard untuk membuat server Ubuntu dapat diakses dari internet tanpa harus mengganti ISP.

Topologi: Internet → IP Public Static S-Network → WireGuard → Server Ubuntu → SSH.

Pada metode ini, WireGuard dipasang langsung pada server Ubuntu. Setelah tunnel VPN terhubung ke S-Network, layanan SSH pada Ubuntu dapat dipublikasikan menggunakan IP Public Static sehingga administrator dapat melakukan remote server dari luar jaringan.

Persiapan

Sebelum memulai, pastikan Anda sudah memiliki:

  1. Server Ubuntu yang terhubung ke internet.
  2. Akses user dengan hak sudo atau root.
  3. Layanan IP Public Static S-Network yang aktif.
  4. Akses ke dashboard S-Network.
Tutorial ini dibuat khusus untuk Linux Ubuntu .

1. Install SSH Server di Ubuntu

Jika OpenSSH Server belum terpasang, jalankan perintah berikut:

Terminal Ubuntu
sudo apt update
sudo apt install -y openssh-server

Aktifkan SSH agar otomatis berjalan saat Ubuntu melakukan boot:

Terminal Ubuntu
sudo systemctl enable --now ssh

Periksa status service SSH:

Terminal Ubuntu
sudo systemctl status ssh --no-pager

Pastikan port SSH sedang listening:

Terminal Ubuntu
sudo ss -lntp | grep ':22' 

Secara default, OpenSSH menggunakan TCP port 22 .

2. Install WireGuard di Ubuntu

Install WireGuard dan paket pendukung menggunakan APT:

Terminal Ubuntu
sudo apt update
sudo apt install -y wireguard resolvconf 

Periksa apakah WireGuard sudah berhasil terinstall:

Terminal Ubuntu
sudo wg --version

3. Pasang Konfigurasi WireGuard dari S-Network

1

Buka Akun VPN pada Dashboard S-Network

Masuk ke dashboard layanan, pilih menu IP Public Static , lalu klik nama VPN yang akan digunakan.

Menu IP Public Static S-Network

Pilih tab Akun VPN , kemudian klik Actions dan pilih Edit pada akun VPN yang akan digunakan oleh server Ubuntu.

Edit akun VPN S-Network

Ubah pilihan Perangkat menjadi Linux , lalu aktifkan Split Tunnel dan klik Simpan .

Pengaturan Linux dan Split Tunnel
2

Ambil Konfigurasi WireGuard dari Dashboard

Setelah perangkat berhasil diubah menjadi Linux, klik Konfigurasi untuk melihat konfigurasi WireGuard.

Tombol konfigurasi VPN S-Network

Pilih protocol WireGuard , lalu pada bagian output pilih Lihat Konfigurasi .

Konfigurasi WireGuard Linux S-Network

Ikuti langkah pemasangan yang ditampilkan pada dashboard. Nama file konfigurasi harus mengikuti nama konfigurasi yang diberikan oleh dashboard. Pada tutorial ini digunakan contoh nama SNet.conf .

Terminal Ubuntu
sudo nano /etc/wireguard/SNet.conf   

Setelah editor Nano terbuka, copy konfigurasi WireGuard dari dashboard S-Network.

Gambar artikel

Paste konfigurasi tersebut ke Nano menggunakan Ctrl + Shift + V pada terminal Linux yang mendukungnya, atau gunakan klik kanan lalu pilih Paste.

Konfigurasi di bawah ini hanya contoh . Jangan menggunakan key atau Endpoint contoh ini. Gunakan konfigurasi WireGuard yang diberikan oleh dashboard S-Network Anda.
/etc/wireguard/SNet.conf
[Interface]PrivateKey = iGAGmkDiw6dFgv2RvJrDFoHy+cgwFldJEfQPUVn68Us=
Address = 10.11.82.2/30
DNS = 8.8.8.8,9.9.9.9
MTU = 1420
[Peer]
PublicKey = pfDoeqNUv1ZijWWcFbTRoIL0NdBkrer/XUJaX47hvxI=
PresharedKey = lVvLaEz5aMWINAUBk3bo5ddKeotf7il9olfZRQeqjjM=
AllowedIPs = 10.11.82.0/23
Endpoint = crater.s-net.id:18616
PersistentKeepalive = 25

Setelah konfigurasi selesai ditempel, simpan file dengan:

  1. Tekan Ctrl + X .
  2. Tekan Y .
  3. Tekan Enter .

Selanjutnya amankan permission file konfigurasi WireGuard:

Terminal Ubuntu
sudo chmod 600 /etc/wireguard/SNet.conf        

Aktifkan dan jalankan WireGuard:

Terminal Ubuntu
sudo systemctl enable --now wg-quick@SNet            

Periksa status service:

Terminal Ubuntu
sudo systemctl status wg-quick@SNet --no-pager

Jika sudo wg show menampilkan latest handshake , berarti server Ubuntu sudah berhasil terhubung ke jaringan VPN S-Network.

Cek di Akun VPN Status, arahkan kursor ke logo disamping Active, jika ada tanda C berarti koneksi wireguard sudah berhasil terhubung.

Gambar artikel

4. Buat Akses Publik untuk SSH

Setelah WireGuard terhubung, buka tab Akses Publik pada layanan IP Public Static S-Network, lalu klik Tambah Akses Publik .

Tambah akses publik S-Network

Pada bagian VPN Account, pilih akun Linux yang sebelumnya sudah dipasang pada server Ubuntu. Kemudian tentukan port lokal SSH.

Pengaturan akses publik SSH Ubuntu
Pengaturan Contoh Keterangan
Protocol TCP SSH menggunakan protokol TCP.
VPN Account linux-ubuntu Pilih akun WireGuard yang digunakan oleh server Ubuntu.
Local Port 22 Port SSH pada server Ubuntu.
Public Port 2230 Contoh port yang digunakan untuk akses dari internet.
Port 2230 hanya contoh. Gunakan alamat IP Public Static atau hostname dan Public Port yang benar-benar tampil pada dashboard S-Network Anda.

5. Izinkan SSH pada Firewall Ubuntu

Ubuntu umumnya menggunakan UFW sebagai firewall. Periksa terlebih dahulu apakah UFW sedang aktif:

Terminal Ubuntu
sudo ufw status verbose     

Jika UFW aktif, izinkan port SSH:

Izinkan SSH
sudo ufw allow 22/tcp  

Jika ingin membatasi akses SSH dari tunnel WireGuard S-Network saja, Anda dapat menggunakan rule berdasarkan interface SNet :

UFW via WireGuard
sudo ufw allow in on SNet to any port 22 proto tcp

Periksa kembali rule UFW:

Cek Rule UFW
sudo ufw status numbered
Jangan menghapus rule SSH yang saat ini sedang digunakan sebelum akses melalui IP Public Static S-Network berhasil diuji. Kesalahan konfigurasi firewall dapat membuat Anda kehilangan akses remote ke server.

6. Remote SSH Ubuntu dari Luar Jaringan

Setelah akses publik berhasil dibuat, lihat alamat yang muncul pada dashboard. Contohnya:

Contoh Akses Publik
crater.s-net.id:2230   

Anda juga dapat menggunakan tombol copy pada dashboard untuk menyalin alamat akses publik.

Alamat akses publik SSH S-Network

Selanjutnya lakukan pengujian dari jaringan internet yang berbeda. Misalnya laptop dihubungkan ke hotspot smartphone agar tidak menggunakan jaringan internet yang sama dengan server Ubuntu.

Menggunakan Terminal Linux, macOS, atau Windows

Contohnya, jika Public Port adalah 2230 :

Contoh SSH
ssh -p 2230 [email protected]
Pada command SSH, port cukup ditentukan menggunakan parameter -p 2230 . Jangan menambahkan :2230 lagi setelah hostname.

Menggunakan PuTTY

Jika menggunakan PuTTY, masukkan hostname dari dashboard pada bagian Host Name , kemudian masukkan Public Port pada bagian Port .

Remote SSH menggunakan PuTTY

Klik Open , kemudian login menggunakan username dan password Ubuntu yang biasa digunakan pada server.

7. Troubleshooting

WireGuard Tidak Handshake

Periksa status WireGuard:

Cek WireGuard
sudo wg show

Lihat bagian latest handshake . Jika tidak ada handshake, periksa koneksi internet server dan pastikan konfigurasi Endpoint, PublicKey, PrivateKey, PresharedKey serta parameter lainnya sama dengan konfigurasi pada dashboard S-Network.

Restart WireGuard

Karena pada tutorial ini nama konfigurasi adalah SNet.conf , maka nama interface WireGuard adalah SNet .

Restart WireGuard
sudo wg-quick down SNet
sudo wg-quick up SNet

Atau restart melalui systemd:

Restart Service WireGuard
sudo systemctl restart wg-quick@SNet

Cek Log WireGuard

Journal WireGuard
sudo journalctl -u wg-quick@SNet --no-pager -n 100

SSH Connection Refused

Periksa apakah service SSH berjalan:

Cek SSH
sudo systemctl status ssh --no-pager

Kemudian periksa apakah TCP port 22 sedang listening:

Cek Listening Port
sudo ss -lntp | grep ':22'

SSH Timeout

Periksa firewall Ubuntu:

Cek UFW
sudo ufw status verbose

Anda juga dapat melihat apakah paket SSH masuk melalui interface WireGuard:

tcpdump
sudo tcpdump -ni SNet tcp port 22

Biarkan command tersebut berjalan, kemudian coba melakukan SSH dari jaringan internet lain.

Jika paket terlihat masuk tetapi SSH tetap gagal, periksa kembali service OpenSSH dan konfigurasi UFW.

Cek IP Interface WireGuard

Cek Interface
ip addr show SNet    

Cek Route Ubuntu

Cek Route
ip route

Diagnostik Lengkap

Diagnostik Ubuntu
ip addr show SNet
ip route
sudo wg show
sudo systemctl status wg-quick@SNet --no-pager
sudo systemctl status ssh --no-pager
sudo ufw status verbose 

Pertanyaan yang Sering Diajukan

Apakah server Ubuntu harus memiliki IP Public dari ISP?

Tidak. Server Ubuntu hanya membutuhkan koneksi internet agar WireGuard dapat membuat tunnel keluar menuju S-Network.

Apakah bisa digunakan jika ISP menggunakan CGNAT?

Bisa. WireGuard membuat koneksi keluar dari Ubuntu menuju S-Network sehingga tidak bergantung pada tersedianya IP Public langsung dari ISP.

Apakah port publik SSH harus 22?

Tidak. Local Port dapat tetap menggunakan port SSH Ubuntu 22 , sedangkan Public Port dapat menggunakan port berbeda, misalnya 2230 .

Apakah WireGuard harus selalu aktif?

Ya. Jika tunnel WireGuard terputus, koneksi dari IP Public Static S-Network tidak dapat diteruskan menuju server Ubuntu.

Apakah bisa digunakan untuk Ubuntu Server?

Bisa. Tutorial ini memang dibuat untuk Ubuntu dan Ubuntu Server. WireGuard dan OpenSSH dapat berjalan sebagai service systemd sehingga otomatis aktif kembali setelah server melakukan reboot.

Apakah WireGuard otomatis aktif setelah Ubuntu restart?

Ya, selama WireGuard sudah diaktifkan menggunakan systemctl enable wg-quick@SNet .

Selain SSH, apakah bisa membuka service Ubuntu lainnya?

Bisa. IP Public Static S-Network dapat digunakan untuk berbagai layanan TCP atau UDP sesuai kebutuhan, misalnya web server, monitoring, database, game server, VPN server, API, NAS, ataupun aplikasi internal.

IP Public Static S-Network

Remote Server Ubuntu dari Luar Jaringan Menggunakan IP Public Static

Hubungkan Ubuntu ke IP Public Static S-Network melalui WireGuard dan akses SSH dari internet tanpa harus meminta IP Public Static langsung dari ISP.

Cocok untuk Ubuntu Server, homelab, NAS, monitoring server, aplikasi internal, server web, dan kebutuhan administrasi server jarak jauh.