Mungkin ada saat-saat di mana login ke komputer dari jarak jauh diperlukan. Anda mungkin memerlukan akses ke file, perlu membantu teman dengan masalah, atau bahkan mentransfer file antar komputer. Apa pun itu Secure Shell (SSH) memungkinkan Anda terhubung ke komputer lain yang menjalankan Linux (atau memang sistem Unix lain seperti BSD atau Solaris) melalui koneksi terenkripsi. Agar host jarak jauh dapat menerima koneksi SSH, ia harus menjalankan daemon (sshd) dan Anda harus menerima paket masuk ke port 22 jika firewall digunakan.
Cara Kerja SSH
Ide di balik SSH adalah untuk memungkinkan pengguna berinteraksi dari jarak jauh dengan komputer melalui terminal melalui koneksi terenkripsi. Ini berarti bahwa data yang dikirimkan (seperti nama pengguna dan kata sandi yang digunakan untuk login) aman, sehingga mencegah penyerang mengumpulkan data sensitif dengan mudah menggunakan packet sniffer, yang akan terjadi jika Anda menggunakan Remote Shell (RSH) melalui Internet karena detail login Anda akan dikirim ke server sebagai teks biasa (tanpa enkripsi).
Siapkan SSH
Jika komputer Anda tidak dapat menerima koneksi SSH, Anda perlu menginstal protokol SSH jika belum diinstal. Sistem seperti Ubuntu harus mengonfigurasi daemon SSH (sshd) untuk dijalankan saat startup. Jika ada firewall, Anda mungkin juga perlu mengonfigurasi pengaturan untuk mengizinkan koneksi masuk ke port 22 atau port mana pun yang Anda pilih SSH untuk menerima koneksi masuk.
$ sudo apt install ssh
Peragaan Sederhana
Seperti banyak hal dengan Linux, proses masuk ke shell jarak jauh itu sederhana. Mari kita buka terminal dan login ke mesin dengan nama pengguna “unix_allsort”:
$ ssh [email protected]
Jika ini adalah pertama kalinya Anda masuk ke host tertentu menggunakan komputer Anda di bawah pengguna saat ini, ia akan menanyakan apakah Anda ingin menerima host tersebut ke daftar koneksi yang diketahui. Jika tidak dan Anda mendapatkan pesan itu, mungkin itu adalah host yang berbeda sama sekali, yang mungkin mengindikasikan seseorang menyamar sebagai komputer itu!
Setelah Anda mengautentikasi diri sendiri, Anda seharusnya dapat menavigasi sistem seperti yang Anda lakukan jika Anda berada di depan komputer secara langsung.
Anda bahkan dapat menggunakan SSH di komputer tersebut untuk mengakses komputer jarak jauh lainnya:
[email protected]:~$ ssh [email protected]
Menjalankan Program Pada Host Jarak Jauh ATAU SSH Jalankan Perintah Jarak Jauh
Ada opsi untuk menjalankan aplikasi pada host jarak jauh setelah masuk menggunakan SSH. Contohnya adalah meluncurkan editor untuk mengedit file tertentu di host tersebut.
$ ssh -t [email protected] vim ~/Documents/list.txt
Anda akan dapat menggunakan vim seperti yang Anda lakukan jika Anda menggunakan komputer itu secara langsung. Opsi '-t' diperlukan setiap kali Anda ingin meluncurkan program seperti vim dari host jarak jauh. Parameter ini digunakan untuk memaksa alokasi terminal semu. Halaman manual menyatakan bahwa program berbasis layar, seperti vim, harus diluncurkan dengan opsi ini karena alasan itu. Jika ini tidak ada, beberapa aplikasi terminal mungkin tidak berfungsi dengan benar.
Aplikasi GUI
SSH juga menyediakan cara untuk meluncurkan program GUI X11, seperti Firefox, sebagai lawan dari program teks saja.
$ ssh -X [email protected]
Firefox Parameter '-X' hanya memberi tahu host jarak jauh untuk mengizinkan komputer penghubung untuk meluncurkan banyak aplikasi X ketika diperintahkan untuk melakukannya, baik melalui shell atau sebaliknya. Banyak program dapat dijalankan dengan cara ini, browser web, editor, bahkan beberapa program Windows melalui Wine. Saya telah menemukan bahwa emulator terminal pada X menolak untuk dijalankan. Juga, lihat halaman manual untuk informasi lebih lanjut tentang penerusan X11.
Catatan: Anda mungkin mengalami kesalahan ini saat masuk menggunakan SSH dengan penerusan X11 diaktifkan:/usr/bin/xauth:batas waktu dalam mengunci file otoritas /home/your_home/.Xauthority Jika ini pernah terjadi, masalahnya adalah file kunci untuk 'xauth' sudah ada. Solusinya adalah dengan menghapus file kunci. Mungkin ada lebih dari satu jadi jalankan perintah ini untuk menghapusnya (secara paksa jika perlu):
$ rm -rf ~/.Xauthority-*
Keluar dari sesi SSH dan masuk kembali. Anda kemudian dapat menjalankan aplikasi X lagi.
Mengonfigurasi SSH Tanpa Kata Sandi
Dimungkinkan untuk login dari jarak jauh ke komputer tanpa harus memasukkan kredensial Anda. Ini mengharuskan komputer diatur untuk memungkinkan komputer Anda masuk sedemikian rupa, dapat dicapai melalui penggunaan pasangan kunci yang dihasilkan menggunakan 'ssh-keygen '.
Pertama, kunci perlu dibuat. Di sini, dapat diterima untuk tetap menggunakan default. Karena inti dari latihan ini adalah melewatkan memasukkan kata sandi atau frasa sandi apa pun di terminal setiap kali sesi dimulai, kami ingin tidak memiliki frasa sandi untuk kunci ini.
Setelah semuanya dibuat, ky yang ditemukan di file identitas perlu diinstal ke komputer jarak jauh:
$ ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
Jika langkah-langkah ini dilakukan dengan benar, Anda seharusnya dapat masuk melalui SSH ke PC tanpa dimintai kata sandi.
Alat yang mengandalkan SSH
Salinan Aman
SCP (Salin Aman) memungkinkan pengguna untuk menyalin file ke atau dari host jarak jauh melalui koneksi aman. Sintaksnya sangat mirip dengan perintah 'cp' di mana Anda menentukan file atau folder dan tujuannya. Ini contohnya:
$ scp ~/Documents/shopping.odt [email protected]:~/Documents
Kami baru saja menyalin file melalui Internet melalui koneksi aman ke komputer jarak jauh. Hal yang sama dapat dilakukan untuk folder juga:
$ scp -r [email protected]:~/Documents/Reports ~/Documents
Ini menyalin folder (maka '-r' untuk rekursif) dan isinya dari PC jarak jauh ke komputer Anda.
Protokol Transfer File SSH (SFTP)
SFTP memungkinkan akses dan transmisi file yang aman menggunakan protokol transfer file melalui SSH.
Kesimpulan
Dengan SSH Anda dapat dengan mudah masuk ke komputer lain dari hampir di mana saja dalam keadaan normal. Penerusan X11 dapat diaktifkan untuk menjalankan aplikasi GUI dari mesin jarak jauh, dan program dapat diluncurkan alih-alih meluncurkan shell. Halaman manual untuk SSH memberikan banyak informasi yang berguna, jadi lihatlah.