Yuav ua li cas rau nruab thiab configure SSH neeg rau zaub mov rau Debian Linux?

Txhim kho thiab soj ntsuam cov SSH neeg rau zaub mov

You will need to be root to do the following…

su

  1. Nruab SSH neeg rau zaub mov

    apt install openssh-server
     

  2. Kos yog hais tias tus neeg rau zaub mov kev tshwm sim. Qhov no qhia lub nruab mus zoo.

    ps -A | grep sshd

    Tso zis (los yog zoo ib yam li): 1753 ? 00:00:00 sshd

     

  3. Nruab SSH Client mus xyuas lub SSH neeg rau zaub mov kev twb kev txuas

    apt install openssh-client

    Txuas mus rau localhost mus ntsuam xyuas kev twb kev txuas

    ssh localhost

    Tsis tas li ntawd tus ID nkag mus nrog cov interface IP chaw nyob

    Tau IP chaw nyob

    ip addr

    SSH mus rau lub ip chaw nyob

    ssh {ipaddress here}
     

Securing the SSH Server

It is a good idea to secure the SSH server by disallowing root to login and configuring login only by public key i.e. login using passwords is not allowed

Ensure to execute the following commands as your user and not as root

  1. Navigate to the user home directory

    cd
     

  2. Kos yog .ssh tshwm sim

    ls -a
     

  3. Yog hais tias .ssh tsis muaj nyob, tsim nws

    mkdir .ssh
     

  4. Teem lub nplaub tshev tso cai rau 700

    chmod 700 .ssh
     

  5. Create the authorized_keys file

    touch ./.ssh/authorized_keys
     

  6. Change permission on the authorized_keys file to 600

    chmod 600 ./.ssh/authorized_keys
     

  7. Open the authorized_keys file

    nano ./.ssh/authorized_keys
     

  8. Paste your public key into the file

    You can get your public key from the SSH client. If the client is Windows 10 then it will be in the %USERPROFILE%/.ssh/id_rsa.pub ntaub ntawv. If the client is Debian then the public key is ~/.ssh/id_rsa.pub.

    If your public key does not exist, 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}

    Tso zis: Permission denied (publickey).

     

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

    ssh username@{ssh server ip address}

    Tso zis: 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

    Tso zis: 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.