Install Openssh Server

  1. Install paket openssh server dan client
    # yum -y install openssh-server openssh-clients
  2. Jalankan service-nya
    # chkconfig sshd on
    # service sshd start
  3. Pastikan service-nya telah berjalan (install netstat terlebih dahulu)
    # netstat -tulpn | grep :22
  4. Edit file konfigurasinya jika ingin mengganti port(pastikan untuk backup file konfigurasi terlebih dahulu)
    # vi /etc/ssh/sshd_config
  5. Jika ada perubahan pada file konfigurasi, restart servis ssh
    # systemctl restart sshd.service
    Atau
    # service sshd restart

Mengubah Port SSH

  1. Backup file konfigurasi ssh
    # cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
  2. Edit file sshd_config dan hapus komentar pada bagian port kemudian ganti dengan port yang diinginkan
    ...
    Port 22 #ubah menjadi port yang diinginkan
    ...
  3. Setelah itu, atur perizinan di SELinux karena SELinux secara default hanya mengizinkan port 22
    # semanage port -a -t ssh_port_t -p tcp #portnumber
  4. Jika selinux belum terpasang, install paket berikut
    # yum -y install policycoreutils-python
  5. Biasanya port yang ditentukan, telah dipakai oleh service lain, jadi pastikan dulu untuk mengecek port yang akan digunakan
    # semanage port -l | grep #portnumber
  6. Atur firewall-cmd untuk mengizinkan port baru
    # firewall-cmd --permanent --zone=public --add-port=#portnumber/tcp
  7. Restart firewall-cmd dan servis ssh
    # firewall-cmd --reload
    # systemctl restart sshd.service
  8. Kemudian verifikasi ssh telah berjalan di port baru
    # ss -tnlp | grep ssh

Troubleshoot SSH

Jika mengganti port default dari ssh di Centos 7 akan mengakibatkan service ssh tidak berjalan dan terjadi error seperti gambar di bawah ini

Hal ini dikarenakan adanya security di centos yang harus dikonfigurasi.
Baca referensi mengenai SE Linux di centos

Troubleshoot Prompt Password SSH

Biasanya ketika login ssh, setelah memasukkan username, prompt untuk memasukkan password lumayan lama untuk muncul.
Penyebabnya adalah IP address tidak me-reverse pengaturan etc DNS. Berikut hal yang dapat dilakukan

GSSAPIAuthentication yes
menjadi: GSSAPIAuthentication no
dan
UseDNS yes
menjadi: UseDNS no
Kemudian restart servis ssh.

Konfigurasi SSH untuk Menerima Login Root dari IP Tertentu

Kita dapat mengkonfigurasi jika ingin menerima login root dari beberapa alamat. Semuanya dapat dilakukan dengan cara mengedit file konfigurasi ssh (/etc/ssh/sshd_config)
Mengizinkan login root dari network tertentu.

...
Match Address x.x.x.x/yy
        PermitRootLogin yes
Jika ingin menggunakan spesifik ip address bisa dengan tanda koma.
...
Match Address x.x.x.x, y.y.y.y
        PermitRootLogin yes
Setelah itu restart/reload servis ssh