bash: /home/user/.ssh/authorized_keys: нет такого файла или каталога

Создать ключ 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
45
задан 16 May 2014 в 05:25

5 ответов

Вам необходимо создать каталог .ssh и файл authorized_keys в первый раз.

  1. Создайте .ssh ] каталог:

     mkdir ~ / .ssh
     
  2. Установите правильные разрешения:

     chmod 700 ~ / .ssh
     
  3. Создайте файл authorized_keys :

     нажмите ~ / .ssh / authorized_keys
     
  4. Установите правильные разрешения:

     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 с соответствующими разрешениями, если необходимо.

93
ответ дан 16 May 2014 в 05:25

попробуйте

 touch $HOME/.ssh/authorized_keys

создать пустой файл с правами этого пользователя.

Этот файл создается при первом доступе к удаленному хосту с этим пользователем.

0
ответ дан 16 May 2014 в 05:25

Это также может не сработать, если, когда создавая ключ с помощью ssh-keygen , вы даете ему имя файла. Я ввел какое-то имя my-ssh-file-name , и он записал ключ в / Users / MyUserName вместо папки .ssh . Если оставить имя файла пустым, оно будет записано в .ssh , как и ожидалось.

0
ответ дан 16 May 2014 в 16:25
  • 1
    это открылось после " склонные sudo - получают установку-f" – Kevs Fernandez 25 November 2015 в 07:28

Если вам отправили открытый ключ по электронной почте для установки на удаленный сервер:

1) SSH на сервер. Я использовал PuTTY в Windows.

2) Установите ключ:

mkdir ~/.ssh
chmod 700 ~/.ssh
vi ~/.ssh/authorized_keys

Позаботьтесь, чтобы точно скопировать ключ и вставить его в новую строку в окне редактора. Убедитесь, что он занимает одну строку, и сохраните.

chmod 600 ~/.ssh/authorized_keys
2
ответ дан 16 May 2014 в 16:25
  • 1
    @sds в сочетании с, не могло бы быть обычное выражение на английском языке:) – Jacob Vlijm 26 November 2015 в 05:57

Поскольку у меня недостаточно репутации, я добавляю это сюда. В дополнение к ответу Луи Маттейссена, если вы все еще не можете войти через ssh в качестве пользователя, которого вы создали, например

ssh username@host

, то это может быть из-за отсутствия разрешения владельца , которое вы должны добавить в папку /home/username/.ssh. У меня была такая же проблема, и вы можете дать это разрешение как:

chown -R username:username /home/username/.ssh

Вероятно, это может произойти просто потому, что вы создавали каталог и устанавливали разрешения как root , но не как имя пользователя ] вы хотите получить доступ к серверу.

Надеюсь, это кому-то поможет.

4
ответ дан 16 May 2014 в 16:25
  • 1
    Резкий @RoundSparrowhilltx! должно быть, было изменение плана во время кодирования. зафиксированный теперь. – Jacob Vlijm 30 June 2017 в 17:51

Другие вопросы по тегам:

Похожие вопросы: