Notes

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

Команды для создания пользователя в 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"

 

# Частые проблемы

если ssh спрашивает пароль когда ключ SSH вы уже подставили, тогда значит первым делом проверяйте как идет подключение:

ssh -vT git@YOUR_HOST_OR_GIT_REPO

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

а в гит-репу нужен собственный формат ключа который дает puttygen

 

Источники:

 

 

Афоризм дня:
Любимое часто ослепляет любящего. (582)

Leave a reply

Яндекс.Метрика