Создайте ключ 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
Ответы:
Вы должны создать .ssh
каталог и authorized_keys
файл в первый раз.
Создайте .ssh
каталог:
mkdir ~/.ssh
Установите правильные разрешения:
chmod 700 ~/.ssh
Создайте authorized_keys
файл:
touch ~/.ssh/authorized_keys
Установите правильные разрешения:
chmod 600 ~/.ssh/authorized_keys
Разрешения важны! Это не будет работать без правильных разрешений!
Теперь вы можете добавить открытый ключ к authorized_keys
файлу:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
Вы должны добавить открытый ключ вашего компьютера в authorized_keys
файл компьютера, к которому вы хотите получить доступ, используя SSH Keys !
Как упомянул тердон, вы также можете просто использовать эту команду:
ssh-copy-id user@host
Это поместит ваш id_rsa.pub
(в ваш ~/.ssh
каталог) в authorized_keys
файл удаленного компьютера , создавая .ssh
каталог и authorized_keys
файл с необходимыми разрешениями, если это необходимо.
cat
так, вот для чего ssh-copy-id
.
Если вам был отправлен открытый ключ по электронной почте для установки на удаленный сервер:
1) SSH на сервер. Я использовал PuTTY на Windows.
2) Настройте ключ:
mkdir ~/.ssh
chmod 700 ~/.ssh
vi ~/.ssh/authorized_keys
Точно скопируйте ключ и вставьте его в новую строку в окне редактора. Убедитесь, что он занимает одну строку и сохраните.
chmod 600 ~/.ssh/authorized_keys
Поскольку у меня недостаточно репутации, я добавляю это сюда. В дополнение к ответу Louis Matthijssen, если вы все еще не можете войти через ssh как созданный вами пользователь, например
ssh username@host
это может быть связано с отсутствием разрешения владельца, которое необходимо добавить в папку /home/username/.ssh. У меня была такая же проблема, и вы можете дать это разрешение как:
chown -R username:username /home/username/.ssh
Это может произойти просто потому, что вы создавали каталог и устанавливали права доступа как root , а не как имя пользователя, с которым вы хотите получить доступ к серверу.
Надеюсь, это кому-нибудь поможет.
Это также может произойти сбой, если при создании ключа с помощью ssh-keygen
вы даете ему имя файла. Я ввел какое-то имя my-ssh-file-name
, и /Users/MyUserName
вместо .ssh
папки он написал ключ . Если вы оставите имя файла пустым, оно запишется .ssh
как положено.
~/.ssh/authorized_keys
являются ключами других компьютеров, к которым вы подключены / доверяете, а не своим собственным ключом.