2013-09-09 5 views
3

В моем VPS запустите ssh-add -l и возвращает: The agent has no identities. , но я запустить cat ~/.ssh/id_rsa.pub | ssh [email protected] 'cat >> .ssh/authorized_keys' ранееКак добавить ключ ssh на удаленный сервер?

Я затем запустить ssh-add ~/.ssh/authorized_keys возвращает @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Permissions 0644 for '/home/deployer/.ssh/authorized_keys' are too open. It is recommended that your private key files are NOT accessible by others. This private key will be ignored.

и ssh [email protected] до сих пор получить отчет Permission denied (publickey).

+0

Вы добавили свой открытый ключ в GitHub? Вы добавляете свой *** закрытый ключ *** с помощью 'ssh-add'? Кроме того, в сообщении об ошибке указано, что пользовательские права на ваши ключи слишком открыты, вам нужно ограничить доступ для чтения только к себе, используя 'chmod 700', или что-то в этом роде. –

+0

Измените разрешения на свой авторизованный ключевой файл ('chmod 600 ~/.ssh/authorized_keys'), а затем проверьте, устраняет ли это проблему. Кроме этого, я бы проверил, что ваша команда cat делает то, что вы ожидаете. – Ross

+0

после сортировки этого беспорядка, вас может заинтересовать ssh agent forwarding 'ssh -A' – mnagel

ответ

6

Чтобы добавить SSH -key к вашему агенту ssh, вы должны добавить его:

ssh-add 

После этого обеспечения ключа добавляется:

ssh-add -l 

Чтобы исправить разрешения проблемы попробуйте:

chmod 0600 ~/.ssh/authorized_keys 
+0

Запустить их на сервере? – cqcn1991

+0

Задайте себе, где работает ваш ssh-agent ... вы правы на своем клиенте. ;) – deagh

+0

Я запускаю 'ssh-add ~/.ssh/authorized_keys' и получаю' Enter passphrase для /home/deployer/.ssh/authorized_keys: '. Но я не указываю парольную фразу при создании ssh на моей локальной машине. В чем проблема? – cqcn1991

0

Чувак, используйте pssh. Создайте файл со всеми именами хостов, к которым вы хотите добавить файл, затем выполните что-то вроде:

pssh -h [hostsfile] -P 'echo "sshkeystringBLARG etc ..." >>/home/[user]/.ssh/authorized_hosts '

Вы можете соответствующим образом изменить cmd и уйти.

Enjoy

+0

Ах, промахните ответ. Google простой материал, подобный этому, или поиск stackoverflow. На этот вопрос уже ответили тысячу раз. – UberDoyle