Створіть ключ 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