OpenSSH отказался от каталога .ssh с символической ссылкой

Проблема заключалась в файле hosts.

  1. Routeback необходимо указать для этой записи.
  2. Комбинация IP-адреса / диапазона определяет IP-адреса за туннелем ipsec. В этом случае все.

vpn eth1: 0.0.0.0/0 ipsec, routeback

6
29.06.2017, 19:42
3 ответа

Проблема с правами доступа.

Вам необходимо проверить разрешения для всех каталогов выше, включая домашний foobar, а также для всех каталогов выше целевого каталога .sshна внешнем устройстве. За исключением foobarи целевых каталогов .ssh, все остальные должны принадлежать пользователю root и не доступны для записи кем-либо еще.


У вас также может быть проблема с SELinux. Вы можете проверить контекст безопасности файлов и каталогов SELinux с помощью флага -Z:

.
[sheepd0g@dogpound ~]$ ls -ZA
drwxr-xr-x. root   root   system_u:object_r:home_root_t:s0..
drwxrwxr-x. sheepd0g sheepd0g unconfined_u:object_r:user_home_t:s0 20170620-auditlogs
-rw-rw-r--. sheepd0g sheepd0g unconfined_u:object_r:user_home_t:s0 random.dat
drwx------. sheepd0g sheepd0g unconfined_u:object_r:ssh_home_t:s0.ssh

Несколько замечаний:

  1. Точка в конце полей режима разрешений означает, что для этого файла активен контекст SELinux.
  2. Обратите внимание, что поле Тип для папки.ssh отличается (ssh _home _t ).
  3. Объекты, типы, политики и параметры SELinux могут различаться в разных дистрибутивах и даже в основных версиях.То, что работает для RHEL6, может не работать, скажем, для SUSE 10 или Debian 6 (Я не уверен, что в Debian 6 даже есть встроенная поддержка SELinux...)

Тем не менее, это хорошее место, чтобы посмотреть, если все остальное не работает. Вы можете достаточно легко проверить, находится ли SELinux в принудительном режиме, с помощью следующего:

[sheed0g@dogpound ~]$ sudo getenforce
Enforcing

Если вы подозреваете, что проблема связана с SELinux, вы можете переключить SELinux в разрешающий режим (политики включены, но никаких действий не предпринимается --только регистрация/аудит действий):

[sheepd0b@dogpound ~]$ sudo setenforce 0
[sheepd0b@dogpound ~]$ sudo getenforce
Permissive

Если проблема исчезнет, ​​скорее всего, проблема в этом.

Обратите внимание, что SELinux НАМНОГО сложнее, чем представлено здесь. Если ваш.ssh/ находится в общей папке NFS, вам потребуется внести дополнительные изменения с логическими настройками для SELinux.

Вот два хороших справочника по SELinux:

Вики-запись CentOS о SELinux

Руководство по Red Hat Enterprise Linux 7 SELinux

8
27.01.2020, 20:27

SSH жалуется не просто так. Каталог ~/.ssh/доступен для -записи всем, и поэтому любой может изменить его.

Если это не проблема для вас, вы можете установить StrictModes noв sshd_config, и он все равно будет использоваться. Не забудьте перезапустить службу sshdпосле изменения.

2
27.01.2020, 20:27

В моем случае (на Lenovo NAS )смена разрешений не помогла, но привязка монтирования решила проблему.

Вместо

ln -s  /pool/secure/ssh .ssh

Я сделал

mkdir -m 700.ssh
mount --bind  /pool/secure/ssh .ssh
3
27.01.2020, 20:27

Теги

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