Masalahnya
Pesan berikut dicatat saat memulai ulang layanan sshd di sistem CentOS/RHEL 5/6.
Dec 14 00:15:19 geeklab sshd[9182]: Received signal 15; terminating. Dec 14 00:15:19 geeklab sshd[9274]: Server listening on :: port 22. Dec 14 00:15:19 geeklab sshd[9274]: error: Bind to port 22 on 0.0.0.0 failed: Address already in use.
Solusinya
Ketika IPv6 dan IPv4 keduanya diaktifkan secara bersamaan, IPv6 pertama-tama mengikat pada port 22 ke semua IP IPv6 yang tersedia (::) ketika layanan sshd dimulai. Jadi ketika IPv4 IP (0.0.0.0) mencoba untuk mengikat pada port yang sama, sistem akan mencatat pesan kesalahan di atas. Itu karena port tersebut sudah digunakan oleh IP IPv6.
Anda juga dapat memeriksa hal yang sama di output netstat.
# netstat -anp | grep sshd tcp 0 0 :::22 :::* LISTEN 9302/sshd
Untuk mengatasi masalah tersebut, ikuti langkah-langkah yang diuraikan di bawah ini:
1. Edit file konfigurasi sshd /etc/ssh/sshd_config dan batalkan komentar pada baris yang diberikan di bawah ini:
# vi /etc/ssh/sshd_config ListenAddress 0.0.0.0
2. Mulai ulang layanan sshd lagi agar perubahan diterapkan.
# service sshd restart
3. Log yang mirip dengan di bawah ini harus masuk ke file /var/log/messages.
Dec 14 00:35:23 geeklab sshd[9274]: Received signal 15; terminating. Dec 14 00:35:23 geeklab sshd[9301]: Server listening on 0.0.0.0 port 22.
4. Anda juga dapat memeriksa output perintah netstat untuk mengonfirmasi apakah port sshd 22 hanya mendengarkan Alamat IPv4.
# netstat -anp | grep sshd tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 8977/sshd