É um problema de permissões.
Você precisa verificar as permissões de todos os diretórios acima e incluir a% home de foobar
e também todos os diretórios acima do diretório .ssh
de destino em seu dispositivo externo. Além dos diretórios foobar
e% target .ssh
, todos os outros devem ser de propriedade de root e não podem ser gravados por mais ninguém.
Você também pode ter um problema no SELinux. Você pode verificar o contexto de segurança de arquivos e diretórios do SELinux com o -Z
flag:
[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
Algumas coisas a serem observadas:
- O período no final dos campos do modo de permissão significa que o contexto do SELinux está ativo para esse arquivo.
- Observe que o campo Tipo para a pasta .ssh é diferente (ssh_home_t).
- Objetos, tipos, políticas e configurações do SELinux podem não ser os mesmos em distribuições ou mesmo em versões principais. O que funciona para o RHEL6 pode não ser, digamos, SUSE 10 ou Debian 6 (eu não estou certo de que o Debian 6 tenha a aplicação do SELinux fora da caixa ...)
Independentemente disso, este é um bom lugar para procurar se tudo o mais falhar. Você pode verificar se o SELinux está no modo de execução com bastante facilidade com o seguinte:
[sheed0g@dogpound ~]$ sudo getenforce
Enforcing
Se você suspeitar do problema do SELinux, poderá alternar o SELinux para o modo Permissivo (as políticas são ativadas, mas nenhuma ação é tomada - apenas registro / auditoria de ações):
[sheepd0b@dogpound ~]$ sudo setenforce 0
[sheepd0b@dogpound ~]$ sudo getenforce
Permissive
Se o seu problema desaparecer, este é provavelmente o problema.
Por favor, note que há muito mais complexidade para o SELinux do que o representado aqui. Se o seu .ssh / estiver em um compartilhamento NFS, você será obrigado a fazer mais alterações nas configurações booleanas do SELinux.
Aqui estão duas boas referências para o SELinux: