2

Я пытаюсь SSH с моей локальной машины на мой сервер. Раньше мне не приходилось вводить пароль, потому что мой открытый ключ был на сервере в authorized_keys ключах. Однако сегодня я думаю, что некоторые разрешения были изменены для некоторых файлов, и он запрашивает пароль каждый раз, когда я пытаюсь использовать SSH.

Каковы правильные / стандартные разрешения для папки .ssh и ее содержимого на моем локальном компьютере / сервере?

Вот мои текущие разрешения

Мой сервер

[root@server9987 .ssh]# ls -la
total 24
drwx------ 2 root root 4096 Oct 17 03:29 .
drwxr-x--- 7 root root 4096 Oct 17 03:29 ..
-rw------- 1 root root  397 Oct 16 19:11 authorized_keys
-rw------- 1 root root 1675 Oct 12 02:10 id_rsa
-rw------- 1 root root  398 Oct 12 02:10 id_rsa.pub
-rwxrwxrwx 1 root root  830 Oct 17 03:29 known_hosts

Моя локальная машина

➜  .ssh  l
total 32
drwx------  6 Oliver  staff   204 17 Oct 00:28 .
drwxr-xr-x  7 Oliver  staff   238 16 Oct 17:28 ..
-rw-------  1 Oliver  staff   332 16 Oct 17:28 config
-rw-------  1 Oliver  staff  1766 13 Jul 11:13 id_rsa
-rw-------  1 Oliver  staff   398 13 Jul 11:13 id_rsa.pub
-rw-------  1 Oliver  staff  3312 17 Oct 00:28 known_hosts

2 ответа2

5

Вы хотите, чтобы закрытый ключ мог быть прочитан только владельцем. Как правило, рекомендуется делать все содержимое этой папки доступным для чтения и записи только для владельца. Однако файл, который позволяет другим входить в систему с помощью ключа, должен быть доступен для чтения пользователю, который запускает демон ssh.

в общем-то:

find ~/.ssh -type f -exec chmod 600 {} \;
chmod 755 ~/.ssh
chmod 644 ~/.ssh/authorized_keys

Обновление Разрешения по умолчанию для папки ~/.ssh - 700 (openssh 5.9, gentoo) и некоторые файлы:

$ ll .ssh; ll -d .ssh
-rw-r--r-- 1 jaroslav jaroslav 406 Oct 17 04:32 known_hosts
drwx------ 2 jaroslav jaroslav 4096 Oct 17 04:32 .ssh
-rw------- 1 jaroslav jaroslav 1766 Oct 17 04:37 id_rsa
-rw------- 1 jaroslav jaroslav  395 Oct 17 04:37 id_rsa.pub

Это после удаления моего исходного файла .ssh и запуска ssh hostname.org ; ssh-keygen. Файлы, созданные командами openssh, по-видимому, не подвержены влиянию umask

Так что я все еще права, и комментарии / отрицательные голоса не имеют никакого отношения к моему ответу:'(.

Причина, по которой .ssh может быть 700, заключается в том, что sshd в основном запускается пользователем root, который может читать все, что хочет, несмотря ни на что. Причина, по которой sshd в основном запускается пользователем root, заключается в том, что демон должен прослушивать привилегированный порт (<1024).

1

Нашел ответ в этой теме. Это были не права доступа к файлам / папкам SSH, а разрешение пользователя.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .