2010-11-26 22:04:58 +0000 2010-11-26 22:04:58 +0000
411
411
Advertisement

Разрешения на использование личного ключа в папке .ssh?

Advertisement

Я изменил разрешения в папке .ssh, и теперь, когда я использую программу, которая использует мой личный ключ, я должен каждый раз вводить свой пароль. Каковы должны быть мои разрешения в моем файле id_rsa, чтобы мне не нужно было вводить пароль каждый раз, когда я использую приложение, которое его использует?

В настоящее время мои разрешения установлены на:

-rw-------@ 1 Jody staff 114 Nov 4 23:29 config
-rw------- 1 Jody staff 1743 Oct 21 2009 id_rsa
-rw-------@ 1 Jody staff 397 Oct 21 2009 id_rsa.pub 
-rw-------@ 1 Jody staff 3855 Sep 13 22:35 known_hosts
```.
Advertisement

Ответы (4)

93
93
93
2015-06-09 20:39:45 +0000

Я вечно боролся с этим и наконец-то понял, что нужно. Замените $USER везде именем пользователя SSH, к которому вы хотите подключиться на сервере. Если вы пытаетесь войти под именем root, вам нужно будет использовать /root/.ssh и т.д.., вместо /home/root/.ssh, как это делается для не корневых пользователей.

  • Домашний каталог на сервере не должен быть доступен для записи другим: chmod go-w /home/$USER
  • SSH папка на сервере требует 700 разрешений: chmod 700 /home/$USER/.ssh
  • Файл Authorized_keys требует 644 разрешения: chmod 644 /home/$USER/.ssh/authorized_keys
  • Убедитесь, что user владеет файлами/папками, а не root: chown user:user authorized_keys и chown user:user /home/$USER/.ssh
  • Вставьте сгенерированный публичный ключ (из ssh-keygen) в пользовательский authorized_keys файл на сервере
  • Убедитесь, что домашний каталог пользователя установлен так, как вы ожидаете, и что он содержит правильную папку .ssh, которую вы модифицировали. Если нет, используйте usermod -d /home/$USER $USER для исправления проблемы
  • Наконец, перезапустите ssh: service ssh restart
  • Затем убедитесь, что у клиента есть открытый ключ и файлы приватного ключа в локальной пользовательской папке .ssh и войдите: ssh user@host.com
37
37
37
2013-01-03 03:50:21 +0000

Также убедитесь, что ваш домашний каталог не может быть записан другими пользователями.

chmod g-w,o-w ~

6
Advertisement
6
6
2010-11-26 22:07:13 +0000
4
4
4
2014-04-17 20:20:44 +0000

Felipe прав - каталог, содержащий ваш каталог .ssh, не должен быть доступен для записи по группам или другим критериям. Таким образом, chmod go-w ~ - это следующая логическая вещь, которую нужно попробовать, если вы все еще запрашиваете пароль при ssh'ing после запуска ssh-keygen -t rsa; cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys, предполагая, что вы не назначили парольную фразу в команде ssh-keygen, а ваш каталог .ssh находится в вашем домашнем каталоге.

Похожие вопросы

6
10
12
8
6
Advertisement