How to install and configure SSH server on Debian Linux?

Installing and testing the SSH Server

You will need to be root to do the following

su

  1. Инсталирајте SSH сервер

    apt install openssh-server
     

  2. Проверете дали постои процес на серверот. Ова укажува на инсталацијата одеше добро.

    ps -A | grep sshd

    излез (или слични): 1753 ? 00:00:00 sshd

     

  3. Инсталирајте SSH клиент за да ја проверите врската на SSH сервер

    apt install openssh-client

    Поврзувате на локалниот компјутер за тестирање поврзување

    ssh localhost

    Исто така се најавите со IP адреса на интерфејс

    Добие IP адреса

    ip addr

    SSH на IP адреса

    ssh {ipaddress here}
     

Обезбедување на SSH сервер

Тоа е добра идеја да се обезбеди на SSH сервер со оневозможува корен да се најавите и конфигурирање најава само со јавен клуч i.e. логирање со користење на лозинки не е дозволено

Осигурајте се да се изврши следнава команда како корисник, а не како root

  1. Отидете до корисникот домашен директориум

    cd
     

  2. Проверете дали постои .ssh

    ls -a
     

  3. Ако .ssh не постои, го создаде

    mkdir .ssh
     

  4. Постави дозвола на папката за 700

    chmod 700 .ssh
     

  5. Креирај датотека на authorized_keys

    touch ./.ssh/authorized_keys
     

  6. Промена дозвола на датотеката за да authorized_keys 600

    chmod 600 ./.ssh/authorized_keys
     

  7. Отвори датотека на authorized_keys

    nano ./.ssh/authorized_keys
     

  8. Ставете го вашиот јавен клуч во датотека

    Можете да добиете вашиот јавен клуч од клиентот SSH. Ако клиентот е Windows 10 тогаш тоа ќе биде во %USERPROFILE%/.ssh/id_rsa.pub датотека. Ако клиентот е Debian тогаш јавен клуч е ~/.ssh/id_rsa.pub.

    Ако вашиот јавен клуч не постои, generate it on the client machine

    ssh-keygen -t rsa -C "email@domain.com"
     

  9. Change to root user

    su

  10. Configure your SSH server to accept only public key logins and prevent login for root

    nano /etc/ssh/sshd_config

    Uncomment and/or edit the following lines

    PermitRootLogin no
    StrictModes yes
    PubkeyAuthentication yes
    AuthorizedKeysFile .ssh/authorized_keys .ssh/authorized_keys2
    PasswordAuthentication no
     

  11. Restart the sshd service

    service sshd restart
     

  12. Try logging in as root from your SSH client using password

    ssh root@{ssh server ip address}

    излез: Permission denied (publickey).

     

  13. Try logging in as username from your SSH client using password

    ssh username@{ssh server ip address}

    излез: Permission denied (publickey).

     

  14. Try logging in as root from your SSH client using the public key

    ssh root@{ssh server ip address} -i .ssh/id_rsa

    излез: Permission denied (publickey).

     

  15. Log in as username from your SSH client using the public key

    ssh username@{ssh server ip address} -i .ssh/id_rsa
     

If your SSH client has a static IP address then you may want to consider only your IP address can login to the SSH server.