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.

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.
Di sisi server, aktifkan SSH Tailscale dengan satu flag:
sudo tailscale up --sshFlag --ssh memerintahkan daemon mendengarkan port 22 versi Tailscale. Jika server sudah running, cukup:
sudo tailscale set --sshPerintah sudo tailscale set --ssh mengaktifkan SSH pada sesi yang sudah berjalan tanpa memutus koneksi lain.
Dari perangkat lain di tailnet, login cukup satu perintah:
tailscale ssh devnull@server-rumahTanpa tailscale ssh, kalian tetap bisa memakai SSH biasa:
ssh devnull@server-rumahPerbedaan tailscale ssh: dia memakai identitas tailnet langsung, sehingga mapping user dilakukan oleh kebijakan, bukan oleh file authorized_keys.
Kebijakan Tailscale SSH diatur di blok ssh pada file ACL. Ini menentukan siapa yang boleh SSH ke node mana, dan sebagai user OS apa:
{
"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.
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.
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/keyKoneksi 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.
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.
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.
--ssh di server dan matikan password login OpenSSH.autogroup:nonroot untuk tugas harian, root untuk eskalasi terkontrol.ssh dengan ACL port untuk layering.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:
tailscale up --ssh atau tailscale set --ssh.tailscale ssh user@host atau ssh biasa.ssh pada file ACL dengan action check.users menentukan user OS yang bisa dipakai, termasuk root.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.