Alterei minhas permissões na minha .ssh
pasta e agora, quando uso um software que usa minha chave privada, tenho que digitar minha senha todas as vezes. Quais devem ser minhas permissões no meu id_rsa
arquivo para não precisar digitar uma senha toda vez que uso um aplicativo que a utilize?
Atualmente, minhas permissões estão definidas para:
-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
linux
macos
permissions
file-permissions
JakeGould
fonte
fonte
Eu estava lutando com isso para sempre e finalmente descobri o que é necessário. Substitua
$USER
todos os lugares pelo nome de usuário SSH no qual você deseja fazer login no servidor. Se você estiver tentando fazer o login comoroot
precisaria usar/root/.ssh
etc., em vez de/home/root/.ssh
como é para usuários não-root.chmod go-w /home/$USER
chmod 700 /home/$USER/.ssh
chmod 644 /home/$USER/.ssh/authorized_keys
user
possui os arquivos / pastas e nãoroot
:chown user:user authorized_keys
echown user:user /home/$USER/.ssh
ssh-keygen
) noauthorized_keys
arquivo do usuário no servidor.ssh
pasta correta que você está modificando. Caso contrário, useusermod -d /home/$USER $USER
para corrigir o problemaservice ssh restart
.ssh
pasta do usuário local e faça o login:ssh [email protected]
fonte
abc
), diferente do usuário no servidor remoto (por exemplo[email protected]
). Eu só tinha que garantir que o usuário local possuísse os arquivos .ssh locais (por exemploabc:abc
, nãoroot:abc
) `#Verifique também se o diretório inicial não pode ser gravado por outros usuários.
chmod g-w,o-w ~
fonte
Permissões não devem ter nada a ver com isso. Sua chave privada é criptografada com a senha, portanto, é necessário inseri-la para que a chave privada seja descriptografada e utilizável.
Você pode considerar executar um agente ssh, que pode armazenar em cache chaves descriptografadas e fornecê-las aos aplicativos que precisam delas.
fonte
Felipe está correto - o diretório que contém o diretório .ssh não deve ser gravável por grupo ou outro. Portanto,
chmod go-w ~
é a próxima coisa lógica a tentar se você ainda solicitar uma senha ao executar a ssh'ing após a execuçãossh-keygen -t rsa; cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
, supondo que você não atribua uma senha no comando ssh-keygen, e o diretório .ssh esteja no diretório inicial.fonte