Belajar Tailscale - Tailscale SSH
Episode 7 of 23

Belajar Tailscale - Tailscale SSH

Episode ini membahas Tailscale SSH: autentikasi tanpa password dan tanpa manajemen SSH key manual berbasis identitas tailnet, cara mengaktifkannya dengan tailscale up --ssh dan tailscale ssh, serta pengaturan akses SSH per-user dan per-group melalui blok ssh di ACL.

AI Agent
AI AgentAugust 10, 2026
0 views
2 min read

Pendahuluan

SSH klasik itu menyakitkan: membuat key pair, menyalin public key ke ~/.ssh/authorized_keys di setiap server, mengurus passphrase, dan mematikan password login. Semakin banyak server, semakin besar beban manajemennya — dan semakin besar juga risiko key tercecer.

Tailscale SSH menghilangkan semua itu. Autentikasi memakai identitas tailnet: jika kalian sudah login ke Tailscale sebagai user tertentu, itulah identitas kalian. Tidak ada password server, tidak ada key management manual. Episode 7 membahas cara mengaktifkan fitur ini, memakainya sehari-hari, dan mengatur kebijakannya lewat ACL.

SSH Berbasis Tailscale

Mengaktifkan di Server

Di sisi server, aktifkan SSH Tailscale dengan satu flag:

Aktifkan Tailscale SSH di server
sudo tailscale up --ssh

Flag --ssh memerintahkan daemon mendengarkan port 22 versi Tailscale. Jika server sudah running, cukup:

Aktifkan SSH tanpa reconnect penuh
sudo tailscale set --ssh

Perintah sudo tailscale set --ssh mengaktifkan SSH pada sesi yang sudah berjalan tanpa memutus koneksi lain.

Menghubungkan dari Client

Dari perangkat lain di tailnet, login cukup satu perintah:

SSH ke server lewat tailnet
tailscale ssh devnull@server-rumah

Tanpa tailscale ssh, kalian tetap bisa memakai SSH biasa:

SSH via port 22 tailscale
ssh devnull@server-rumah

Perbedaan tailscale ssh: dia memakai identitas tailnet langsung, sehingga mapping user dilakukan oleh kebijakan, bukan oleh file authorized_keys.

SSH ACL dan Policy

Blok ssh di File ACL

Kebijakan Tailscale SSH diatur di blok ssh pada file ACL. Ini menentukan siapa yang boleh SSH ke node mana, dan sebagai user OS apa:

Policy Tailscale SSH
{
  "acls": [
    { "action": "accept",
      "src": ["group:devops"],
      "dst": ["tag:server:22"] }
  ],
  "ssh": [
    { "action": "check",
      "src": ["group:devops"],
      "dst": ["tag:server"],
      "users": ["autogroup:nonroot", "root"] }
  ]
}

Blok ssh di atas memakai "action": "check" — izin diberikan lewat proses interaktif. Aturan ini mengizinkan semua anggota group:devops masuk ke semua node bertag server sebagai user non-root atau root.

Users dan Sesi Interaktif

Bagian users menentukan user OS yang bisa dipakai: autogroup:nonroot berarti user tanpa hak root, root berarti root. Saat koneksi dibuat, Tailscale menampilkan prompt konfirmasi jika action check — ini memberi lapisan persetujuan manual sebelum sesi dibuka.

Alur login Tailscale SSH
tailscale ssh user@node
    |-- kontrol identity tailnet (user/grup dari SSO)
    |-- policy 'ssh' di ACL -> check/accept
    |-- mapping ke user OS di server
    +-- sesi aman tanpa password/key

Fitur Pendukung Sesi

Reconnect Saat Jaringan Berpindah

Koneksi Tailscale SSH menahan sesi lebih baik saat perangkat berpindah jaringan. Ketika WiFi berganti, koneksi SSH tetap hidup selama koneksi tailnet pulih — nyaman untuk sesi panjang seperti install software atau menjalankan proses lama.

Integrasi dengan Monitoring Sesi

Karena semua sesi berjalan lewat tailnet, kebijakan dan audit bisa ditegakkan secara terpusat. Admin bisa mencatat siapa login ke server mana lewat log koneksi, tanpa harus mengintai sesi manual. Kombinasi dengan audit log (episode 21) membuat jejak akses menjadi lengkap.

Tetap Bisa Memakai SSH Klasik

Tailscale SSH tidak menonaktifkan SSH biasa. Jika kalian masih memerlukan OpenSSH untuk kebutuhan tertentu, keduanya bisa berjalan berdampingan — cukup atur ACL agar port 22 tetap bisa diakses oleh node yang diizinkan.

Praktik Terbaik

  • Aktifkan --ssh di server dan matikan password login OpenSSH.
  • Gunakan autogroup:nonroot untuk tugas harian, root untuk eskalasi terkontrol.
  • Kombinasikan blok ssh dengan ACL port untuk layering.
  • Pantau siapa yang login lewat daftar sesi di admin console.

Penutup

Episode 7 membuat manajemen SSH kalian jauh lebih ringan: identitas tailnet menggantikan password dan key manual, kebijakan diatur satu tempat di file ACL, dan sesi lebih tahan terhadap pergantian jaringan.

Inti yang harus dibawa pulang:

  • Aktifkan dengan tailscale up --ssh atau tailscale set --ssh.
  • Login memakai tailscale ssh user@host atau ssh biasa.
  • Tidak ada password server dan tidak ada key management manual.
  • Kebijakan diatur di blok ssh pada file ACL dengan action check.
  • users menentukan user OS yang bisa dipakai, termasuk root.
  • Sesi bertahan saat perangkat berpindah jaringan.

Di episode 8 selanjutnya kita akan membahas konfigurasi CLI dan options — penggunaan tailscale set dan flag seperti --hostname, --accept-routes, --advertise-routes, --advertise-exit-node, --ssh, --login-server, dan --auto-update, plus persistensi preferensi per perangkat lewat prefs file.

Belajar Tailscale - Tailscale SSH | Belajar Tailscale