Recentemente, eu brinquei com o diretório .ssh. Fiz algumas alterações de permissão, acho e agora não me permitirá mais acessá-lo. Eu posso acessá-lo como usuário root (sudo -i), mas não como algo
Recebo permissão negada ao listar ou cding em .ssh, mesmo que mostre os arquivos
ls: cannot access /home/somesh/.ssh/amazon.pem: Permission denied
ls: cannot access /home/somesh/.ssh/id_rsa: Permission denied
ls: cannot access /home/somesh/.ssh/known_hosts: Permission denied
ls: cannot access /home/somesh/.ssh/id_rsa.pub: Permission denied
total 0
-????????? ? ? ? ? ? amazon.pem
-????????? ? ? ? ? ? id_rsa
-????????? ? ? ? ? ? id_rsa.pub
-????????? ? ? ? ? ? known_hosts
Efetuar login como root e ls fornece os seguintes resultados
# ls -l /home/somesh/ -a |grep ssh
drw-rw-rw- 2 somesh somesh 4096 Aug 27 15:45 .ssh
Até os arquivos dentro de .ssh são de propriedade de somesh: somesh e chm
-rw-rw-rw- 1 somesh somesh 1692 Aug 27 15:45 amazon.pem
-rw-rw-rw- 1 somesh somesh 1675 Aug 25 20:01 id_rsa
permissions
ssh
chmod
Somesh Mukherjee
fonte
fonte
~/.ssh
diretório são700
(drwx------
).Respostas:
Steeldriver está certo. No diretório, você também precisa
x
acessar o sinalizador para poder listar os arquivos.A
chmod 700 ~/.ssh
correção do diretório usando deve ajudá-lo a entrar neste estado (correto):Além disso, você deve corrigir suas chaves usando
chmod 600 ~/.ssh/id_rsa
echmod 644 ~/.ssh/*.pub
para obter isso:fonte
Quando você executa o comando ls -l em qualquer diretório, a primeira coluna é a coluna de permissão, que é interpretada da seguinte maneira:
1 ------------- 2 3 4 ------- 5 6 7 ------- 8 9 10
(TIPO) ---- (usuário) ----- (grupo) ---- (outros)
TIPO: Se '-' , é um arquivo. Se 'd' , é um diretório.
Permissões: ler: 4, escrever: 2, executar: 1
Então, para ler, escrever e executar suas permissões serão 7 no grupo de usuários.
Você pode usar
ou
-R - modifica a permissão da pasta pai e dos objetos filhos dentro
fonte
chmod 700 file_name
echmod u+x file_name
faça duas coisas completamente diferentes. O primeiro define as permissões pararwx/---/---
, o segundo apenas define ox
bit para o proprietário (e, a partir666
dele, o arquivo será alterado para766
, e não para700
).-
caractere significa que é um arquivo "normal". Ad
significa que é um diretório. Há outros, também, gostoc
,l
(para ligação simbólica),s
e ainda mais para outros sistemas operacionais.