SSH adalah singkatan dari Secure Shell. Sesuai namanya, SSH dimaksudkan untuk mengakses Server atau Desktop Shell di Windows, macOS, Linux (CentOS, Ubuntu, dan lainnya), dan sistem operasi lain yang tersedia dari jarak jauh. Ini pada dasarnya adalah protokol jaringan, yang berarti menetapkan aturan untuk membuat koneksi yang aman dan terenkripsi antara klien dan server.
Manfaat utama menggunakan SSH adalah transmisi data yang aman melalui jaringan yang tidak aman seperti Internet. Sangat berguna untuk menghubungkan komputer jarak jauh dan mengaksesnya dengan aman melalui baris perintah. Kami juga dapat menggunakannya untuk mentransfer file melalui jaringan yang skeptis. Inilah alasan mengapa sebagian besar Pusat Data dan Admin Cloud menggunakannya untuk mengakses server dari jarak jauh.
Berikut ini akan kami tunjukkan langkah-langkah untuk menginstal server OpenSSH di CentOS 8 Linux. Paket perangkat lunak ini menggunakan SSH (Protokol Secure Shell) untuk menyediakan saluran aman melalui jaringan dalam arsitektur client-server.
Aktifkan SSH di CentOS 8 Linux
Langkah-langkah yang diberikan di bawah ini untuk instalasi server OpenSSH akan bekerja tidak hanya pada CetnOS 8 tetapi juga versi sebelumnya seperti 7 &6.
1. Instal OpenSSH Server
Buka terminal Command pada CentOS 8, jika Anda menggunakan versi CLI maka Anda sudah ada di sana. Instalasi OpenSSH sangat sederhana karena sudah ada di repositori resmi CentOS. Jadi, satu perintah dan itu akan ada di mesin Anda.
sudo dnf –y install openssh-server
Perintah tunggal akan menginstal klien OpenSSH dan server daemon-sshd pada sistem.
2. Mulai layanan SSH di CentOS
Setelah penginstalan, kita perlu memulai layanan OpenSSH jika tidak, kami tidak akan dapat mengaksesnya melalui alat klien apa pun dari Windows, Linux, atau sistem lain. Namun, setelah berhasil diaktifkan, kami dapat dengan mudah terhubung dan membuat koneksi yang aman. Jadi, jalankan perintah di bawah ini:
Mulai daemon SSH server OpenSSH:
sudo systemctl start sshd
Jika Anda ingin menghentikannya, perintahnya adalah
sudo systemctl stop sshd
3. Periksa status sshd
Untuk mengetahui setelah memulai layanan SSH apakah itu berfungsi dengan baik atau tidak. Jalankan perintah:
sudo systemctl status sshd
Anda akan melihat warna hijau “aktif (berjalan) ” teks di layar Anda yang akan mengonfirmasi bahwa semuanya baik-baik saja.
4. Aktifkan layanan OpenSSH pada level boot
Jika Anda ingin memulai SSH secara otomatis setiap kali Anda me-reboot sistem Anda. Kemudian gunakan perintah di bawah ini. Ini juga akan memastikan bahwa Anda tidak perlu memulainya setiap saat secara manual.
sudo systemctl enable sshd
Untuk menonaktifkan di masa depan (perintah opsi) jalankan:
sudo systemctl disable sshd
5. Izinkan firewall port 22
Jika bahkan setelah melakukan semua langkah, Anda tidak akan dapat mengakses server ssh dari klien karena firewall, lalu izinkan. Untuk mengizinkan port SSH 22 di CentOS 8 Linux, jalankan:
firewall-cmd --zone=public --add-port=22/tcp --permanent
Mulai Ulang Firewall:
firewall-cmd --reload
6. Hubungkan ke server SSH
Untuk menghubungkan dan mengakses CentOS melalui SSH, cukup buka command prompt di Windows atau Terminal di Linux dan ketik perintah dalam sintaks ini:
ssh [dilindungi email]
Misalnya- misalkan username adalah root dan alamat server adalah 192.168.0.12, maka perintahnya adalah :
ssh [email protected]
Jika Anda telah mengubah port default 22 untuk sesuatu yang lain maka itu akan menjadi:
ssh [dilindungi email]:port
7. Ubah port SSh default pada CentOS 8/7 (opsional)
Secara default port yang digunakan oleh SSH adalah 22 , namun, untuk meningkatkan keamanan, Anda dapat mengubahnya ke yang lain. Untuk itu edit SSHD file konfigurasi.
sudo vi /etc/ssh/sshd_config
- Sekarang, cari baris #port 22
- Tekan Sisipkan tombol pada keyboard.
- Hapus # dan ubah sshd 22 port dengan sesuatu yang lain, katakanlah 5678
- Untuk menyimpan file, tekan Esc kunci dan kemudian ketik :wq
Mulai ulang layanan sshd untuk menandai perubahan yang berlaku.
service sshd restart
Jika Anda mendapatkan kesalahan:
Redirecting to /bin/systemctl restart sshd.service Job for sshd.service failed because the control process exited with error code. See "systemctl status sshd.service" and "journalctl -xe" for details.
Ini berarti Anda harus memberikan izin kepada SELinux dengan menginformasikan bahwa Anda telah menambahkan port baru untuk layanan tersebut.
semanage port -a -t ssh_port_t -p tcp 5678
Catatan :Ganti 5678 dengan nomor port yang Anda masukkan di sshd file konfigurasi di atas
Sekali lagi jika Anda mendapatkan kesalahan seperti:
ValueError: Port tcp/5678 already defined
Ini berarti port yang Anda pilih untuk digunakan dengan layanan SSH sudah ditetapkan atau dicadangkan untuk beberapa layanan lain. Oleh karena itu, ubah nomor port dalam file konfigurasi dan jalankan kembali perintah port semange .
Setelah Anda berhasil menambahkannya, periksa port mana yang diizinkan oleh SELinux di sistem Anda untuk layanan SSHD:
semanage port -l | grep ssh
Anda akan mendapatkan sesuatu seperti ini:
ssh_port_t tcp 5678, 22
Terakhir, Anda memiliki dua port untuk satu layanan.
9. Blokir port CentOS default 22
Karena kami memiliki dua port untuk satu layanan Secure Shell, maka kami dapat memblokir port default yaitu 22 untuk secara permanen. Ini akan meningkatkan keamanan sistem dan biarkan kami hanya menggunakan satu nomor port khusus untuk layanan.
firewall-cmd --direct --add-rule ipv4 filter INPUT -p tcp --dport 22 -j REJECT
Sekarang, izinkan nomor port khusus yang telah Anda buat di firewall, di sini dalam kasus kami, ini adalah 5678
firewall-cmd --add-port=5678/tcp --permanent
firewall-cmd --reload
Sekarang Anda tidak akan dapat terhubung melalui yang default dan jika Anda mencoba, itu akan melalui kesalahan:ssh: connect to host 192.168.0.107 port 22: Connection refused
Untuk terhubung menggunakan port ssh khusus, gunakan sintaks perintah ini:
ssh -p 5678 [email protected]
Pada perintah di atas 5678 adalah nomor port, jadi ganti dengan yang Anda miliki.
Misalnya:
ssh -p 5678 [email protected]
10. Nonaktifkan login root (opsional)
Untuk meningkatkan keamanan server ke tingkat yang lebih tinggi, Anda dapat menonaktifkan akses pengguna root di SSH. Ini berarti dari jarak jauh seseorang dapat mengakses dan mengontrol server menggunakan pengguna non-root saja.
Sekali lagi edit file konfigurasi SSHD:
sudo vi /etc/ssh/sshd_config
- Gunakan tombol panah dan temukan baris:“PermitRootLogin=yes “
- Tekan Sisipkan tombol di Keyboard.
- Ubah nilai “ya menjadi tidak”.
- Tekan Esc kunci dan ketik- :wq
- Tekan Enter Kunci
service sshd restart
11. Copot pemasangan OpenSSH
Untuk menghapusnya:
dnf remove openssh-server
Baca selengkapnya:
- Instal dan konfigurasikan Server VNC di CentOS 8
- Cara menginstal GUI di server CentOS 8 Minimal CLI