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