
Percebi que não consigo mais me conectar ao servidor web em x.x.202.50
. Ontem alterei o seguinte arquivo de configuração ssh: /share/homes/admin/.ssh/config
adicionando as seguintes configurações:
# ssh (secure shell) configuration file
Host webserver
HostName x.x.212.50
User user1
IdentityFile ~/.ssh/id_rsa `
A razão pela qual fiz isso é para ativar o login de chave para fins de sincronização (com Unison
).
Agora, quando tento me conectar ao servidor, recebo o seguinte erro:
Proprietário ou permissões incorretos em /share/homes/admin/.ssh/config
Eu faço a conexão Putty
do Windows 10 e do servidor Linux para outro servidor Linux.
Preciso me conectar ao servidor porque estou envolvido em um projeto e não sei como fazê-lo. Alguém sabe como fazer isto?
Responder1
Você precisa alterar as permissões do diretório .ssh. Execute o seguinte (descobri que 600 não resolverá isso sozinho):
chmod 700 ~/.ssh
chmod 600 ~/.ssh/*
Responder2
A regra geral para os arquivos que podem afetar a segurança (chaves privadas, arquivos de configuração, chaves autorizadas) é que eles não devem ser graváveis por ninguém além do proprietário (as chaves privadas não devem estar acessíveis!).
O erro vem docódigo openshabaixo:
if (((sb.st_uid != 0 && sb.st_uid != getuid()) ||
(sb.st_mode & 022) != 0))
fatal("Bad owner or permissions on %s", filename);
Portanto, traduzi-lo para o inglês significa que o arquivo de configuração deve pertencer ao root ou ao usuário que está executando o ssh
e não pode ser gravado por nenhum grupo ou outros usuários.
Como já foi apontado nos comentários, você provavelmente concedeu essas permissões a alguém de alguma forma, portanto, remover essas permissões deve resolver o problema:
chmod go-w /share/homes/admin/.ssh/config
Responder3
Eu tenho uma máquina Linux de usuário único que compartilha o mesmo diretório '.ssh' com a conta root. O /root/.ssh é um link simbólico que aponta para a pasta '/home/username/.ssh' do usuário.
Recentemente adicionei um arquivo ~/.ssh/config e isso fez com que o SSH me fornecesse a mensagem de erro ao invocar SSH e SSHFS da conta root. A solução para mim foi fazer o seguinte:
chown root:$USER ~/.ssh/config
chmod 644 ~/.ssh/config
No entanto, isso é um pouco problemático quando tenho que editar o arquivo, pois exige que eu altere as permissões e a propriedade do arquivo e, em seguida, reverta-as. Mas esse é um problema meu porque optei por compartilhar a pasta entre as contas. Criei alguns scripts de shell para inverter as permissões somente ao invocar o comando 'sshfs' ou 'ssh' usando a conta de usuário root.
Responder4
As outras respostas só resolvem o problema se houver permissão errada. No entanto, no meu caso, o problema era o proprietário do arquivo errado. Você pode executar ls -l ~/.ssh
para visualizar as informações sobre permissões e proprietários. O proprietário do arquivo pode ser visto na 3ª coluna. Se estiver errado, execute:
chown <newOwner> <fileName>