Terkadang untuk alasan keamanan, ada kebutuhan untuk memiliki port terpisah untuk ssh dan sftp di CentOS/RHEL. Berikut adalah cara singkat untuk mengonfigurasi SSH pada port 2222 dan SFTP agar berfungsi pada port 22.
1. Sejak openssh-5.3p1-117.el6.x86_64 untuk memisahkan port ssh dan sftp pada sistem CentOS/RHEL, lakukan perubahan pada /etc/ssh/sshd_config file dan tambahkan modifikasi berikut.
# vi /etc/ssh/sshd_config Port 22 Port 2222
2. Beri komentar pada subsistem default dan tambahkan subsistem di bawah ini.
# vi /etc/ssh/sshd_config Subsystem sftp internal-sftp
Tambahkan baris di bawah ini di akhir file /etc/ssh/sshd_config
# vi /etc/ssh/sshd_config Match LocalPort 22 AllowTCPForwarding no X11Forwarding no ForceCommand internal-sftp
3. Setelah melakukan modifikasi, simpan dan mulai ulang layanan sshd.
# service sshd restart
Ini akan memungkinkan port 22 untuk koneksi sftp saja. Port 2222 dapat digunakan untuk ssh ke server.
Verifikasi
Mari kita verifikasi konfigurasi kita. Pertama, coba ssh ke server dengan port default (22). Seharusnya gagal seperti yang ditunjukkan pada contoh di bawah ini:
# ssh [email protected] [email protected]'s password: This service allows sftp connections only. Connection to 192.168.10.12 closed.
Sekarang coba ssh dengan menyediakan port 2222 juga. Kali ini harus berhasil.
# ssh -p 2222 [email protected] [email protected]'s password: Last login: Mon Apr 17 15:23:58 2018 from ......
Sebagai verifikasi terakhir, coba sftp ke sistem dengan port default yaitu 22:
# sftp [email protected] Connecting to 192.168.10.12... [email protected]'s password: sftp>