Я генерирую пару ключей ssh на своем Mac и добавляю открытый ключ на свой сервер Ubuntu (фактически это виртуальная машина на моем Mac), но когда я пытаюсь войти на сервер Ubuntu, он говорит:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for '/Users/tudouya/.ssh/vm/vm_id_rsa.pub' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: /Users/tudouya/.ssh/vm/vm_id_rsa.pub
Permission denied (publickey,password).
Я пробовал много способов решить эту проблему, изменить режим файла ключа, изменить режим папки, как некоторые ответы на stackoverflow, но это не работает.
разрешение файла ключа:
vm dir:
drwxr-xr-x 4 tudouya staff 136 4 29 10:37 vm
key file:
-rw------- 1 tudouya staff 1679 4 29 10:30 vm_id_rsa
-rw-r--r-- 1 tudouya staff 391 4 29 10:30 vm_id_rsa.pub
пожалуйста, дайте мне некоторое представление ... ========================================
Я запишите информацию о хосте в ssh_config:
Host ubuntuvm
Hostname 10.211.55.17
PreferredAuthentications publickey
IdentityFile /Users/tudouya/.ssh/vm/vm_id_rsa.pub
Я запускаю команду "ssh -v ubuntuvm", она отображает:
ssh -v ubuntuvm
OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
debug1: Reading configuration data /etc/ssh_config
debug1: /etc/ssh_config line 20: Applying options for *
debug1: /etc/ssh_config line 103: Applying options for *
debug1: /etc/ssh_config line 175: Applying options for ubuntuvm
debug1: Connecting to 10.211.55.17 [10.211.55.17] port 22.
debug1: Connection established.
debug1: identity file /Users/tudouya/.ssh/vm/vm_id_rsa.pub type 1
debug1: identity file /Users/tudouya/.ssh/vm/vm_id_rsa.pub-cert type -1
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_6.2
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.6.1p1 Ubuntu-8
debug1: match: OpenSSH_6.6.1p1 Ubuntu-8 pat OpenSSH*
debug1: SSH2_MSG_KEXINIT sent
debug1: SSH2_MSG_KEXINIT received
debug1: kex: server->client aes128-ctr hmac-md5-etm@openssh.com none
debug1: kex: client->server aes128-ctr hmac-md5-etm@openssh.com none
debug1: SSH2_MSG_KEX_DH_GEX_REQUEST(1024<1024<8192) sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_GROUP
debug1: SSH2_MSG_KEX_DH_GEX_INIT sent
debug1: expecting SSH2_MSG_KEX_DH_GEX_REPLY
debug1: Server host key: RSA 55:6d:4f:0f:23:51:ac:8e:70:01:ec:0e:62:9e:1c:10
debug1: Host '10.211.55.17' is known and matches the RSA host key.
debug1: Found key in /Users/tudouya/.ssh/known_hosts:54
debug1: ssh_rsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /Users/tudouya/.ssh/vm/vm_id_rsa.pub
debug1: Server accepts key: pkalg ssh-rsa blen 279
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: UNPROTECTED PRIVATE KEY FILE! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0644 for '/Users/tudouya/.ssh/vm/vm_id_rsa.pub' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
bad permissions: ignore key: /Users/tudouya/.ssh/vm/vm_id_rsa.pub
debug1: No more authentication methods to try.
Permission denied (publickey,password).
ssh
permissions
key
土豆 丫
источник
источник
-i id_rsa.pub
при использовании команды ssh для подключения. Кажется, что принуждение использовать какой-то открытый ключ в команде ssh для запроса пароля (даже когда пароль был пустым, по крайней мере, в моем случае)Ответы:
Похоже, вы пытаетесь использовать неправильный файл ключа. Файл с расширением «.pub» является файлом открытого ключа. Соответствующий файл без расширения «.pub» является файлом закрытого ключа. Когда вы запускаете ssh-клиент для подключения к удаленному серверу, вы должны предоставить файл с закрытым ключом ssh-клиенту.
Возможно, в вашем
.ssh/config
файле (или/etc/ssh_config
) есть строка, которая выглядит следующим образом:Вам необходимо удалить расширение «.pub» из имени файла:
источник
.pub
файл public ( ) вместо приватного файла.ssh -i id_ed25519.pub
делалssh -i id_ed25519
работыЯ предлагаю вам сделать:
Для меня работа в порядке.
источник
“Permissions 0644 for 'id_rsa.pub' are too open."
и ключ был поэтому проигнорирован. Вероятно, это потому, что я скопировал ключевой файл с другого компьютера. Но исправление разрешений решило проблему. Спасибо!Ключ должен быть доступен для чтения вошедшему в систему пользователю.
Попробуй это:
источник
ssh-add ~/.ssh/id_rsa.pub
Это работа для меня. Когда я сделал этот файл, я смог подключиться к своему экземпляру EC2
источник
После запуска команды ниже она работает для меня
источник
В моем случае это был файл .pem. Оказывается, хорошо для этого тоже. Изменились права доступа к файлу и все заработало.
chmod 400 ~/.ssh/dev-shared.pem
Спасибо всем, кто помог выше.
источник
Если ключи находятся в каталоге ~ / .ssh, используйте
chmod 400 ~ / .ssh / id_rsa
Если ключи находятся в другом каталоге, используйте
chmod 400 directory_path / id_rsa
Это сработало для меня.
источник
chmod 400 ~/.ssh/id_rsa
это то, что вы имели в виду @Anirban. Как указано выше: файл с расширением «.pub» является файлом с открытым ключом. Соответствующий файл без расширения «.pub» является файлом закрытого ключа. Нам нужно защитить частную.Много похожих ответов, но без объяснений ...
Ошибка возникает из-за слишком открытых прав доступа к файлу закрытого ключа. Это риск для безопасности.
Измените разрешения для файла закрытого ключа на минимальные (только для чтения владельцем)
chown <unix-name> <private-key-file>
chmod 400 <private-key-file>
источник
Как по мне, режим по умолчанию
id_rsa
это600
, что означаетreadable
иwritable
.После того, как я помещаю этот файл в репозиторий git и извлекаю его с другого компьютера, иногда режим файла закрытого ключа становится
-rw-r--r--
.Когда я извлекаю репозиторий с помощью ssh после указания файла с закрытым ключом, он завершился неудачно, и у вас появилось то же предупреждение. Ниже мой сценарий.
Я исправляю эту проблему, просто изменив режим на
600
.источник
Предоставление разрешения 400 делает ключ закрытым и недоступным для неизвестного. Это делает ключ защищенным.
источник
Ключи SSH должны быть закрытыми, поэтому
644
разрешение слишком открытое.Изменяя разрешение файла на
600
использованиерешает проблему. Так как он делает ключ доступным только пользователю.
Ссылка: https://www.linux.com/training-tutorials/understanding-linux-file-permissions/
источник
chmod 400 /etc/ssh/*
работает для меня.источник
Если вы используете файл .ssh / config, попробуйте
затем:
источник
Те, кто предложил chmod 400 id_rsa.pub, звучали не совсем правильно. Вполне возможно, что op использовал ключ публикации вместо закрытого ключа для ssh.
Так что это может быть так просто, как
ssh -i /Users/tudouya/.ssh/vm/vm_id_rsa (the private key) user@host
исправить это.--- Обновить ---
Прочтите эту статью https://www.digitalocean.com/community/tutorials/how-to-set-up-ssh-keys--2, чтобы узнать, как настроить ключ ssh.
источник
Просто беги ниже к своему пему
источник
Я удалил
.pub file
, и это сработало.источник
ssh-keygen -i -f /path/to/private.key > /desired/path/to/public.key
. Так что это не совсем потеряно. :)