Создать ключ 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
попробуйте
touch $HOME/.ssh/authorized_keys
, чтобы создать пустой файл с правами этого пользователя.
Этот файл создается при первом доступе к удаленному хосту с этим пользователем. [ ! d2]
Это также может произойти, если при создании ключа с 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 и файл authorized_keys.
Создать каталог .ssh:mkdir ~/.ssh
Установить правильные разрешения: chmod 700 ~/.ssh
Создать authorized_keys file: touch ~/.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 с необходимыми разрешениями.
Поскольку у меня недостаточно репутации, я добавляю это здесь. В дополнение к ответу Луи Маттисссена, если вы все еще не можете войти в систему через ssh как пользователь, который вы создали, например
ssh username@host
, то это может быть из-за отсутствия разрешения владельца, которое вы должны добавьте в свою /home/username/.ssh папку. У меня была такая же проблема, и вы можете дать это разрешение:
chown -R username:username /home/username/.ssh
Это может произойти просто потому, что вы создавали каталог и устанавливали разрешения как разрешение владельца , но а не как имя пользователя, с которым вы хотите получить доступ к серверу.
Надеюсь, это кому-то поможет.
попробуйте
touch $HOME/.ssh/authorized_keys
, чтобы создать пустой файл с правами этого пользователя.
Этот файл создается при первом доступе к удаленному хосту с этим пользователем. [ ! d2]
Это также может произойти, если при создании ключа с 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 и файл authorized_keys.
Создать каталог .ssh:mkdir ~/.ssh
Установить правильные разрешения: chmod 700 ~/.ssh
Создать authorized_keys file: touch ~/.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 с необходимыми разрешениями.
Поскольку у меня недостаточно репутации, я добавляю это здесь. В дополнение к ответу Луи Маттисссена, если вы все еще не можете войти в систему через ssh как пользователь, который вы создали, например
ssh username@host
, то это может быть из-за отсутствия разрешения владельца, которое вы должны добавьте в свою /home/username/.ssh папку. У меня была такая же проблема, и вы можете дать это разрешение:
chown -R username:username /home/username/.ssh
Это может произойти просто потому, что вы создавали каталог и устанавливали разрешения как разрешение владельца , но а не как имя пользователя, с которым вы хотите получить доступ к серверу.
Надеюсь, это кому-то поможет.