Создать ключ 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
и файл authorized_keys
в первый раз.
Создайте .ssh
] каталог:
mkdir ~ / .ssh
Установите правильные разрешения:
chmod 700 ~ / .ssh
Создайте файл authorized_keys
:
нажмите ~ / .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
с соответствующими разрешениями, если необходимо.
попробуйте
touch $HOME/.ssh/authorized_keys
создать пустой файл с правами этого пользователя.
Этот файл создается при первом доступе к удаленному хосту с этим пользователем.
Это также может не сработать, если, когда создавая ключ с помощью ssh-keygen
, вы даете ему имя файла. Я ввел какое-то имя my-ssh-file-name
, и он записал ключ в / Users / MyUserName
вместо папки .ssh
. Если оставить имя файла пустым, оно будет записано в .ssh
, как и ожидалось.
Если вам отправили открытый ключ по электронной почте для установки на удаленный сервер:
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 , но не как имя пользователя ] вы хотите получить доступ к серверу.
Надеюсь, это кому-то поможет.