One place for hosting & domains

      Cara Menggunakan SSH untuk Menghubungkan ke Server Jauh


      Pengantar

      Satu alat penting yang harus dikuasai sebagai administrator sistem adalah SSH.

      SSH, atau Secure Shell, adalah suatu protokol yang digunakan untuk masuk secara aman ke sistem jauh. Inilah cara paling umum untuk mengakses server jauh Linux.

      Dalam panduan ini, kita akan membahas cara menggunakan SSH untuk menghubungkan ke sistem jauh.

      Sintaks Dasar

      Untuk menghubungkan ke sistem jauh menggunakan SSH, kita akan menggunakan perintah ssh. Bentuk paling dasar dari perintah ini adalah:

      remote_host dalam contoh ini adalah alamat IP atau nama domain yang Anda coba hubungkan.

      Perintah ini beranggapan bahwa nama pengguna Anda di sistem jauh sama dengan nama pengguna Anda di sistem lokal.

      Jika nama pengguna Anda berbeda di sistem jauh, Anda dapat menentukan nama pengguna dengan sintaks ini:

      • ssh remote_username@remote_host

      Setelah terhubung ke server, Anda mungkin diminta memverifikasi identitas dengan memberikan kata sandi. Nanti kita akan membahas cara membuat kunci yang akan digunakan sebagai ganti kata sandi.

      Untuk keluar dari sesi ssh dan kembali ke sesi shell lokal Anda, ketikkan:

      Bagaimana Cara Kerja SSH?

      SSH bekerja dengan menghubungkan program klien ke server ssh, yang disebut sshd.

      Di bagian sebelumnya, ssh adalah program klien. Server ssh sudah berjalan di remote_host yang kita tetapkan.

      Di server Anda, server sshd seharusnya sudah berjalan. Jika tidak, Anda mungkin perlu mengakses server melalui konsol berbasis web atau konsol serial lokal.

      Proses ini perlu memulai server ssh yang bergantung pada distribusi Linux yang Anda gunakan.

      Di Ubuntu, Anda dapat memulai server ssh dengan mengetikkan:

      Perintah itu akan memulai server sshd, selanjutnya Anda dapat masuk dari jauh.

      Cara Mengonfigurasi SSH

      Bila mengubah konfigurasi SSH, berarti Anda mengubah pengaturan server sshd.

      Di Ubuntu, berkas konfigurasi sshd utama berada di /etc/ssh/sshd_config.

      Cadangkan versi berkas saat ini sebelum mengedit:

      • sudo cp /etc/ssh/sshd_config{,.bak}

      Buka berkas dengan editor teks:

      • sudo nano /etc/ssh/sshd_config

      Anda perlu membiarkan sebagian besar opsi dalam berkas ini. Namun, ada beberapa opsi yang perlu Anda lihat:

      /etc/ssh/sshd_config

      Port 22
      

      Deklarasi porta menentukan porta yang akan digunakan untuk mendengarkan koneksi. Secara asali adalah 22. Anda mungkin harus membiarkan pengaturan ini, kecuali jika memiliki alasan spesifik untuk melakukan hal sebaliknya. Jika Anda sengaja mengubah porta, kami akan menunjukkan cara menghubungkan ke porta baru nanti.

      /etc/ssh/sshd_config

      HostKey /etc/ssh/ssh_host_rsa_key
      HostKey /etc/ssh/ssh_host_dsa_key
      HostKey /etc/ssh/ssh_host_ecdsa_key
      

      Deklarasi hos menentukan tempat mencari kunci hos global. Kita nanti akan membahas apa yang dimaksud dengan kunci hos.

      /etc/ssh/sshd_config

      SyslogFacility AUTH
      LogLevel INFO
      

      Kedua item ini mengindikasikan tingkat log yang harus terjadi.

      Jika Anda mengalami kesulitan dengan SSH, menambah jumlah aktivitas log dapat menjadi cara yang tepat untuk mengetahui masalahnya.

      /etc/ssh/sshd_config

      LoginGraceTime 120
      PermitRootLogin yes
      StrictModes yes
      

      Semua parameter ini menentukan beberapa informasi log masuk.

      LoginGraceTime menentukan berapa detik mempertahankan koneksi tanpa berhasil log masuk.

      Mungkin sebaiknya mengatur waktu ini sedikit lebih tinggi dari waktu yang Anda butuhkan untuk log masuk secara normal.

      PermitRootLogin menentukan apakah pengguna root diizinkan untuk log masuk.

      Umumnya, ini harus diubah ke no bila Anda telah membuat akun pengguna yang memiliki akses ke privilese yang ditingkatkan (melalui su atau sudo) dan dapat log masuk melalui ssh.

      strictModes adalah penjaga keamanan yang akan menolak upaya log masuk jika berkas autentikasi dapat dibaca oleh setiap orang.

      Ini mencegah upaya log masuk bila berkas konfigurasi tidak aman.

      /etc/ssh/sshd_config

      X11Forwarding yes
      X11DisplayOffset 10
      

      Parameter ini mengonfigurasi suatu kemampuan yang disebut Penerusan X11. Parameter ini memungkinkan Anda melihat antarmuka pengguna grafis (GUI) sistem jauh di sistem lokal.

      Opsi ini harus diaktifkan di server dan diberikan bersama klien SSH selama koneksi dengan opsi -X.

      Setelah membuat modifikasi, simpan dan tutup berkas dengan mengetikkan CTRL+X dan Y, diikuti dengan ENTER.

      Jika Anda mengubah pengaturan dalam /etc/ssh/sshd_config, pastikan memuat ulang server sshd untuk menerapkan modifikasi Anda:

      • sudo systemctl reload ssh

      Anda harus menguji perubahan secara menyeluruh untuk memastikan perubahan tersebut beroperasi dengan cara yang Anda harapkan.

      Mungkin ada baiknya untuk memiliki beberapa sesi yang aktif saat Anda membuat perubahan. Ini akan memungkinkan Anda mengembalikan konfigurasi jika diperlukan.

      Cara Log Masuk ke SSH dengan Kunci

      Walaupun akan bermanfaat bila dapat log masuk ke sistem jauh menggunakan kata sandi, tetapi jauh lebih baik menyiapkan autentikasi berbasis kunci.

      Bagaimana Cara Kerja Autentikasi Berbasis Kunci?

      Autentikasi berbasis kunci bekerja dengan membuat sepasang kunci: kunci privat dan kunci publik.

      Kunci privat berada di mesin klien yang diamankan dan dirahasiakan.

      Kunci publik dapat diberikan kepada siapa pun atau ditempatkan di server yang Anda ingin akses.

      Bila Anda mencoba menghubungkan dengan pasangan kunci, server akan menggunakan kunci publik untuk membuat pesan kepada komputer klien yang hanya dapat dibaca dengan kunci privat.

      Kemudian, komputer klien mengirim respons yang sesuai kembali ke server dan server akan mengetahui bahwa klien itu sah.

      Keseluruhan proses ini dilakukan secara otomatis setelah Anda menyiapkan kunci.

      Cara Membuat Kunci SSH

      Kunci SSH harus dibuat dari komputer yang ingin Anda gunakan untuk log masuk. Biasanya ini mesin lokal Anda.

      Masukkan yang berikut ini ke dalam baris perintah:

      Tekan enter untuk menerima nilai asali. Kunci Anda akan dibuat di ~/.ssh/id_rsa.pub dan ~/.ssh/id_rsa.

      Ubah ke direktori .ssh dengan mengetikkan:

      Lihatlah izin berkas:

      Output

      -rw-r--r-- 1 demo demo 807 Sep 9 22:15 authorized_keys -rw------- 1 demo demo 1679 Sep 9 23:13 id_rsa -rw-r--r-- 1 demo demo 396 Sep 9 23:13 id_rsa.pub

      Seperti yang Anda lihat, berkas id_rsa hanya dapat dibaca dan dapat ditulis oleh pemiliknya. Beginilah cara menjaga kerahasiaannya.

      Namun, berkas id_rsa.pub, dapat dibagikan dan memiliki izin yang sesuai untuk aktivitas ini.

      Cara Mentransfer Kunci Publik ke Server

      Jika Anda saat ini memiliki akses berbasis kata sandi ke server, Anda dapat menyalin kunci publik ke server itu dengan memberikan perintah ini:

      Ini akan memulai sesi SSH. Setelah memasukkan kata sandi, perintah itu akan menyalin kunci publik Anda ke berkas kunci yang diotorisasi server sehingga akan memungkinkan Anda log masuk tanpa kata sandi.

      Opsi di Pihak Klien

      Ada sejumlah bendera opsional yang dapat Anda pilih saat menghubungkan melalui SSH.

      Sebagian besar mungkin diperlukan untuk mencocokkan pengaturan di konfigurasi sshd hos jauh.

      Misalnya, jika Anda mengubah nomor porta dalam konfigurasi sshd, Anda perlu mencocokkan porta itu di pihak klien dengan mengetikkan:

      • ssh -p port_number remote_host

      Jika Anda hanya ingin mengeksekusi perintah tunggal di sistem jauh, Anda dapat menentukannya di hos seperti ini:

      • ssh remote_host command_to_run

      Anda akan menghubungkan ke mesin jauh, mengautentikasi, dan perintah akan dieksekusi.

      Seperti yang kami katakan sebelumnya, jika penerusan X11 diaktifkan pada kedua komputer, Anda dapat mengakses fungsionalitas itu dengan mengetikkan:

      Asalkan Anda memiliki alat yang sesuai di komputer, program GUI yang Anda gunakan di sistem jauh kini akan membuka jendelanya pada sistem lokal Anda.

      Menonaktifkan Autentikasi Kata Sandi

      Jika telah membuat kunci SSH, Anda dapat menyempurnakan keamanan server dengan menonaktifkan autentikasi hanya-kata-sandi. Selain konsol, satu-satunya cara untuk log masuk ke dalam server Anda adalah melalui kunci privat yang berpasangan dengan kunci publik yang telah Anda instal di server.

      Peringatan: Sebelum melanjutkan langkah ini, pastikan Anda telah menginstal kunci publik ke server Anda. Jika tidak, Anda akan terkunci!

      Sebagai root atau pengguna dengan privilese sudo, buka berkas konfigurasi sshd:

      • sudo nano /etc/ssh/sshd_config

      Temukan baris Password Authentication, dan jadikan bukan komentar dengan menghapus # yang ada di depan. Kemudian, Anda dapat mengubah nilainya menjadi no:

      /etc/ssh/sshd_config

      PasswordAuthentication no
      

      Dua pengaturan lainnya yang tidak perlu dimodifikasi (asalkan Anda belum memodifikasi berkas ini) adalah PubkeyAuthentication dan ChallengeResponseAuthentication. Berkas itu diatur secara asali, dan isinya harus seperti berikut:

      /etc/ssh/sshd_config

      PubkeyAuthentication yes
      ChallengeResponseAuthentication no
      

      Setelah membuat perubahan, simpan dan tutup berkas.

      Sekarang Anda dapat memuat ulang daemon SSH:

      • sudo systemctl reload ssh

      Sekarang autentikasi kata sandi sudah dinonaktifkan, dan server Anda seharusnya hanya dapat diakses melalui autentikasi kunci SSH.

      Kesimpulan

      Mempelajari cara kerja SSH akan sangat berguna, walaupun hal itu cuma aktivitas biasa.

      Karena menggunakan berbagai opsi, Anda akan menemukan fungsionalitas lebih lanjut yang dapat mempermudah Anda. SSH tetap populer karena aman, ringan, dan berguna dalam berbagai situasi.



      Source link