Створіть ключ ssh:
$ ssh-keygen -t rsa –P ""
Переміщення ключа до авторизованого ключа:
$ cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
bash: /home/user/.ssh/authorized_keys: No such file or directory
Створіть ключ ssh:
$ ssh-keygen -t rsa –P ""
Переміщення ключа до авторизованого ключа:
$ cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
bash: /home/user/.ssh/authorized_keys: No such file or directory
Відповіді:
bash: /home/user/.ssh/authorized_keys: No such file or directory
Елементу шляху /home/user/.ssh/
не існує; оболонка ( bash
) перевіряє перенаправлення ( >>
) перед виконанням команди ( cat
). Якщо /home/user
це існує, і ви спробуйте це:
cat $HOME/.ssh/id_rsa.pub >> $HOME/test_this
Тепер ви отримаєте:
cat: /home/user/.ssh/id_rsa.pub: No such file or directory
Оскільки цей файл не може бути в цьому місці, якщо /home/user/.ssh/
він не існував для початку.
Ви слідуєте деяким інструкціям, можливо, пропустивши кілька біт. Щоб створити каталог:
mkdir $HOME/.ssh
chmod 700 $HOME/.ssh
Однак id_rsa.pub
там не буде. Це буде де б ви не виконували ssh-keygen
команду в першу чергу.
Переконайтеся, що ви ввійшли в систему як користувач, який ви хочете спершу створити ключ ssh (або будьте готові змінити шляхи в команді до правильного домашнього каталогу).
Тоді просто створіть каталог:
mkdir ~/.ssh
Створіть файл за допомогою cat
команди, вказаної вище. Тоді не забудьте правильно встановити дозволи:
chmod 400 ~/.ssh/authorized_keys
Ви можете переконатися, що каталог .ssh також має відповідні дозволи.
chmod 700 ~/.ssh
Якщо можливо, я завжди закликаю людей використовувати інструмент командного рядка ssh-copy-id
.
$ ssh-copy-id -h
Usage: /usr/bin/ssh-copy-id [-i [identity_file]] [user@]machine
Якщо ви просто хочете скопіювати відкритий ключ SSH за замовчуванням у віддалений сервер, просто запустіть таку команду:
$ ssh-copy-id user@remoteserver
Я показую фактичний повний приклад того, як використовувати цей інструмент у цьому запитанні та запитах: Не можу поділитися ssh-зв’язком з rsync .
Це також може не вдатися, якщо під час створення ключа ssh-keygen
ви надаєте йому ім'я файлу. Я ввів якусь назву my-ssh-file-name
, і вона написала ключ, /Users/MyUserName
а не .ssh
папку. Якщо ви залишите ім'я файлу порожнім, воно запишеться так, .ssh
як очікувалося.
-f ~/.ssh/custom-key-name