Создайте ключ 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/
не существует; shell ( 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