Створіть ключ ssh:
Command:
ssh-keygen -t rsa –P ""
Переміщення ключа до авторизованого ключа:
Command:
cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
bash: /home/user/.ssh/authorized_keys: No such file or directory
Створіть ключ ssh:
Command:
ssh-keygen -t rsa –P ""
Переміщення ключа до авторизованого ключа:
Command:
cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
bash: /home/user/.ssh/authorized_keys: No such file or directory
Відповіді:
Вам потрібно створити .ssh
каталог і authorized_keys
файл з першого разу.
Створіть .ssh
каталог:
mkdir ~/.ssh
Встановіть правильні дозволи:
chmod 700 ~/.ssh
Створіть authorized_keys
файл:
touch ~/.ssh/authorized_keys
Встановіть правильні дозволи:
chmod 600 ~/.ssh/authorized_keys
Дозволи мають важливе значення! Без правильних дозволів це не буде працювати!
Тепер ви можете додати відкритий ключ у authorized_keys
файл:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
Ви повинні додати відкритий ключ свого комп'ютера до authorized_keys
файлу комп'ютера, до якого ви хочете отримати доступ за допомогою SSH-ключів !
Як згадував тердон, ви також можете просто використовувати цю команду:
ssh-copy-id user@host
Це помістить ваш файл id_rsa.pub
(у ваш ~/.ssh
каталог) у authorized_keys
файл віддаленого комп'ютера , створивши .ssh
каталог та authorized_keys
файл із потрібними дозволами, якщо це необхідно.
cat
так, саме ssh-copy-id
для цього і потрібно.
Якщо ви надіслали відкритий ключ електронною поштою для встановлення на віддалений сервер:
1) SSH на сервер. Я використовував PuTTY у Windows.
2) Налаштування ключа:
mkdir ~/.ssh
chmod 700 ~/.ssh
vi ~/.ssh/authorized_keys
Не забудьте точно скопіювати ключ і вставити його в новий рядок у вікні редактора. Переконайтеся, що він займає один рядок, і збережіть.
chmod 600 ~/.ssh/authorized_keys
Оскільки у мене недостатньо репутації, я додаю це сюди. Окрім відповіді Луї Маттійссена, якщо ви все ще не можете увійти через ssh як створений вами користувач, як
ssh username@host
то це може бути через відсутність дозволу власника, який потрібно додати до папки /home/username/.ssh. У мене була та сама проблема, і ви можете надати цей дозвіл як:
chown -R username:username /home/username/.ssh
Можливо, це може статися просто тому, що ви створювали каталог і встановлювали дозволи як root , але не як ім'я користувача, з яким ви хочете отримати доступ до сервера.
Сподіваюся, що це комусь допоможе.
Це також може не вдатися, якщо під час створення ключа ssh-keygen
ви надаєте йому ім'я файлу. Я ввів якусь назву my-ssh-file-name
, і вона написала ключ, /Users/MyUserName
а не .ssh
папку. Якщо ви залишите ім’я файлу порожнім, воно запишеться .ssh
як слід.
~/.ssh/authorized_keys
- це ключі інших комп'ютерів, до яких ви підключились / довіряєте, а не ваш власний ключ.