Perintah ssh Linux: login dan jalankan perintah jarak jauh
Perintah ssh adalah klien OpenSSH untuk masuk ke server atau menjalankan perintah jarak jauh melalui koneksi terenkripsi. Secure Shell (SSH) memerlukan alamat server dan akun yang sesuai; pada koneksi pertama, cocokkan sidik jari kunci host server melalui jalur tepercaya sebelum menyetujuinya.
Kunci host membantu memverifikasi identitas server, sedangkan kata sandi atau kunci pengguna mengautentikasi akun Anda. Keduanya mempunyai fungsi berbeda. Enkripsi koneksi sendiri tidak menggantikan pemeriksaan bahwa server tujuan benar.
Sintaks dan persiapan
ssh [opsi] [pengguna@]host [perintah jarak jauh]
Bagian dalam tanda kurung siku adalah penanda sintaks. Pada user@host, user adalah akun di server, bukan otomatis akun lokal. Ganti nama contoh dan akun dengan nilai sebenarnya. Anda memerlukan klien SSH, alamat dan port server, akun yang diizinkan masuk, serta metode autentikasi yang diterima server.
Contoh memakai klien OpenSSH. Periksa ssh -V dan man ssh untuk versi serta opsi lokal. Kebijakan server atau konfigurasi klien dapat mengubah metode autentikasi dan perilaku sambungan; jangan menyimpulkan semua instalasi mempunyai pengaturan yang sama.
Masuk ke akun di server
ssh alice@server.example.com
Perintah ini meminta koneksi sebagai alice ke server.example.com. Setelah verifikasi host dan autentikasi berhasil, Anda biasanya memperoleh shell pada server. Perintah yang diketik dalam shell itu berjalan dengan hak akun remote, bukan pada komputer lokal. Prompt serta pesan sambutan bergantung pada server.
Jika diminta kata sandi, karakter yang diketik biasanya tidak ditampilkan. Bedakan kata sandi akun server dari frasa sandi yang membuka kunci privat lokal. Selesaikan sesi dengan exit ketika pekerjaan selesai, lalu pastikan Anda kembali ke terminal lokal sebelum melanjutkan perintah lain.
Memilih port SSH yang berbeda
ssh -p 2222 alice@server.example.com
Huruf kecil -p memilih port 2222 pada contoh ini. Gunakan nomor yang diberikan administrator, bukan mencoba angka itu sebagai solusi umum. Layanan SSH biasanya memakai port 22, tetapi konfigurasi server, firewall, atau pemetaan jaringan dapat berbeda.
Nomor port pada klien tidak memindahkan layanan server ke port tersebut. Jika server hanya mendengarkan port lain atau jalurnya diblokir, autentikasi belum dapat dimulai. Catat alamat, akun, dan port yang sama saat membandingkan hasil percobaan.
Menjalankan satu perintah jarak jauh
ssh alice@server.example.com hostname
Argumen hostname meminta perintah itu berjalan di server alih-alih membuka shell login interaktif. Bila autentikasi dan perintah berhasil, keluaran menunjukkan nama host remote lalu kendali kembali ke terminal lokal. Nama yang tampil mengikuti konfigurasi server dan tidak harus sama persis dengan nama Domain Name System (DNS) yang dipakai untuk terhubung.
Perintah remote tetap memerlukan program dan izin yang sesuai pada server. Untuk perintah yang lebih kompleks, perhatikan bahwa shell lokal dan shell remote dapat sama-sama memproses pengutipan atau karakter khusus. Contoh sederhana ini sengaja hanya memakai satu nama perintah agar tempat eksekusinya jelas.
Memeriksa kunci host pada koneksi pertama
ssh user@server.example.test
server.example.test dan user adalah nama contoh lain yang juga harus diganti. Pada pengaturan yang meminta konfirmasi kunci baru, pesan dapat berbentuk seperti berikut:
The authenticity of host 'server.example.test' can't be established.
ED25519 key fingerprint is SHA256:...
Are you sure you want to continue connecting (yes/no/[fingerprint])?
Pesan ini adalah ilustrasi; SHA256:... bukan sidik jari lengkap yang dapat diverifikasi. ED25519 menunjukkan jenis kunci pada contoh, dan server dapat menawarkan jenis lain. Mintalah sidik jari lengkap dari administrator melalui jalur independen yang Anda percayai, lalu cocokkan dengan nilai pada terminal.
- Pastikan alamat, akun, dan port sesuai server yang dimaksud.
- Bandingkan jenis kunci dan seluruh sidik jari dengan informasi administrator.
- Setujui hanya setelah cocok. Jika belum dapat memastikan, jawab no dan konfirmasikan dahulu.
- Setelah kunci diterima, lanjutkan autentikasi akun yang diminta server.
Dengan perilaku konfirmasi kunci baru yang lazim, jawaban yes menyimpan kunci pada berkas known_hosts lokal, umumnya ~/.ssh/known_hosts. Tanda ~ menunjuk direktori pribadi pengguna lokal yang menjalankan klien. Lokasi dan kebijakan penyimpanan dapat diatur melalui konfigurasi klien.
Peringatan kunci berubah dapat berkaitan dengan instalasi ulang atau rotasi kunci, tetapi juga dapat menunjukkan server palsu atau serangan perantara. Verifikasi penyebab dan sidik jari baru sebelum memperbarui catatan host yang terkait. Jangan menghapus seluruh known_hosts atau mematikan pemeriksaan kunci sekadar agar sambungan lolos. Rincian kebijakan tersedia pada StrictHostKeyChecking dalam konfigurasi OpenSSH.
Opsi yang sering dipakai
| Opsi atau pola | Fungsi |
|---|---|
-p port |
Memilih port server SSH. |
-i berkas_kunci |
Memilih berkas identitas untuk autentikasi kunci publik. |
-J host_lompatan |
Menghubungkan ke target melalui jump host. |
-L port_lokal:host:port |
Membuat penerusan port lokal melalui koneksi SSH. |
-N |
Tidak menjalankan perintah remote; biasa dipakai untuk penerusan. |
-v |
Menampilkan rincian proses koneksi dan autentikasi. |
Kunci publik dapat dipasang pada akun server, sedangkan kunci privat disimpan dan dilindungi pada sisi klien. Jangan mengirim kunci privat kepada administrator sebagai cara memasang akses. Batasi akses berkas kunci, lindungi cadangannya, dan periksa frasa sandi serta izin berkas jika autentikasi kunci gagal.
Jump host adalah server perantara menuju target. Penerusan port menghubungkan layanan melalui SSH dan dapat mengubah siapa yang dapat menjangkaunya. Untuk -L, perhatikan alamat bind lokal serta lokasi layanan tujuan; jangan menganggap layanan tujuan berada pada komputer klien. Sebelum memakainya, tentukan cakupan akses yang diperlukan dan periksa alamat tempat port lokal mendengarkan.
Menelusuri koneksi yang gagal
Pisahkan tahap berikut agar perubahan sesuai penyebabnya:
- Nama host: jika muncul pesan tidak dapat menemukan nama, periksa penulisan alamat dan resolusi DNS. Masalah DNS terjadi sebelum autentikasi.
- Jangkauan port: timeout atau penolakan koneksi memerlukan pemeriksaan alamat, port, jalur jaringan, firewall, dan layanan SSH. Pesan itu sendiri belum mengidentifikasi satu penyebab pasti.
- Identitas server: kegagalan verifikasi kunci host perlu konfirmasi identitas, bukan penggantian kata sandi akun.
- Autentikasi: jika server terjangkau tetapi menolak akun, periksa nama pengguna, metode yang diizinkan, kunci yang dipilih, dan izin berkas terkait.
Tambahkan -v pada percobaan dengan akun dan host yang sama untuk melihat tahap berhentinya proses. Sebelum membagikan log, periksa isinya karena nama host, nama pengguna, dan jalur berkas dapat muncul. Jangan memasukkan kata sandi atau isi kunci privat dalam laporan masalah.
Keberhasilan membuka koneksi tidak membuktikan perintah remote berhasil. Periksa keluarannya dan status keluar proses sesuai pekerjaan yang dijalankan. Untuk uraian pilihan klien dan perilaku sesi, gunakan manual resmi ssh OpenSSH.
FAQ
Apa yang harus dilakukan jika kunci server berubah?
Hentikan persetujuan otomatis dan konfirmasikan perubahan serta sidik jari baru kepada administrator melalui jalur independen. Setelah identitas dipastikan, perbarui hanya catatan yang terkait sesuai prosedur lingkungan Anda.
Apakah -p 2222 mengubah konfigurasi server?
Tidak. Opsi itu memilih port tujuan pada sisi klien. Server dan jalur jaringannya tetap harus menyediakan akses SSH pada port yang sama.




