Создание пользователя и SSH ключей

  • Михаил
  • 5 мин. на прочтение
  • 130
  • 20 Jun 2022
  • 20 Jun 2022

Команды для создания пользователя в linux:

Посмотреть список групп в системе:
    vi /etc/group
    
Посмотреть список груп конкретного пользователя:
    id -Gn vasyapupkin

Создать пользователя:
    sudo useradd vasya
Создать пользователя + скелетные директории:
    sudo adduser vasya
    
Или создать пользователя сразу добавив в дополнительную группу newGroup:
    sudo useradd -G newGroup vasyapupkin

Добавить пользователя vasyapupkin в группу newGroup:
    sudo usermod -a -G newGroup vasyapupkin
    
добавить пользователю права sudo:
    sudo usermod -a -G sudo vasya
    //relogin after it
Или
    sudo visudo
    vasya ALL=(ALL:ALL) NOPASSWD:ALL
    
    
Удалить пользователя и его домашнюю директорию с файлами:
    userdel -r vasya

Команды для работы с SSH ключами в linux:

Создать SSH пару ключей закрытый и открытый:

ssh-keygen -C "this key needs for username@remote_host"

или

ssh-keygen -o -a 100 -t ed25519 -f ~/.ssh/id_rsa_custom -C "your email"

где:

  • -t Specifies the type of key to create (e.g., rsa)
  • -b bits Specifies the number of bits in the key to create. The default length is 3072 bits (RSA) or 256 bits (ECDSA)
  • -C comment Provides custom key comment (which will be appended at the end of the public key)
  • -o Use the new OpenSSH format
  • -a When saving a private key, this option specifies the number of KDF (key derivation function, currently bcrypt_pbkdf(3)) rounds used
  • -f filename Specifies the filename of the key file

 

Скопировать ssh ключи от одного пользователя другому:

sudo cp -r /home/USER1/.ssh /home/USER2/.ssh

sudo chown -R USER2:USER2 /home/USER2/.ssh

sudo chmod -R 700 /home/ddudin/.ssh

Сменить пароль на ключ можно с помощью команды

ssh-keygen -f ~/.ssh/id_rsa_my_custom -p


    
Копирование открытого ключа на сервер:

ssh-copy-id -i id_rsa.pub username@remote_host

Когда ранее созданный ключ id_rsa.pub будет найден, тогда будет предложено ввести пароль учетной записи удаленного пользователя. Утилита подключится к учетной записи на удаленном хосте, используя указанный пароль. Затем содержимое ключа ~/.ssh/id_rsa.pub будет скопировано в основной каталог ~/.ssh удаленной учетной записи в файл с именем authorized_keys.
 

После этого можно проверить как работает подключение с этим ключом:

ssh -v -i ~/.ssh/id_rsa username@remote_host

Где:

  • -i identity_file
  • -v Prints debugging messages for ssh connection. The verbose mode is useful when troubleshooting configuration issues.

 

МОМЕНТЫ:
Все права на /home/USER/.ssh должны быть 700 и только пользователя владельца
Команды для этого:

sudo chown -R USER2:USER2 /home/USER2/.ssh

sudo chmod -R 700 /home/USER2/

Выдержка из офф. документации:

3. Copy id_dsa.pub to the server's .ssh directory

* -> scp $HOME/.ssh/id_dsa.pub user@server:/home/user/.ssh

4. Change to /root/.ssh and create file authorized_keys containing id_dsa content

* -> cd /home/user/.ssh

* -> cat id_dsa.pub >> authorized_keys

Вырианты команд для работы с SSH в Windows:

scp $HOME/.ssh/id_rsa.pub user@11.1.2.3:/home/user/.ssh

ssh-copy-id user@11.1.2.3

"C:\Program Files\PuTTY\pscp.exe" C:/Users/user/.ssh/id_rsa.pub user@11.1.2.3:/home/user/.ssh

"C:\Program Files\PuTTY\pscp.exe" C:/Users/user/.ssh/id_rsa user@11.1.2.3:/home/user/.ssh

type public_id | "C:\Program Files\PuTTY\plink.exe" user@11.1.2.3 "umask 077; test -d .ssh || mkdir .ssh ; cat >> .ssh/authorized_keys"

 

Удалить все правила:

Установить правила по умолчанию:

Просмотр правил с их номерами:

iptables -F

iptables -P INPUT DROP

iptables -L --line-numbers