Fórum Ubuntu Linux - PT

Suporte Técnico => Servidores => Tópico iniciado por: pootz em 07 de Outubro de 2017, 23:07

Título: Permissão negada via acesso ssh
Enviado por: pootz em 07 de Outubro de 2017, 23:07
Olá,

Estou tentando fazer conexão SSH a partir do Windows 10 (usando cwrsync) para um servidor Ubuntu no Digital Ocean.

Configurei as chaves RSA tanto no lado do cliente (windows) quanto do lado do servidor (ubuntu), mas ao rodar o comando ssh -v root@serverIP, aparece a mensagem Roaming not allowed by server e depois pede pra mim logar informando a senha.

Procurando na internet, o pessoal fala que é para alterar as permissões da pasta /root/.ssh para 700 e o arquivo /root/.ssh/authorized_keys para 600, mas já fiz isso e não resolveu.

Caso eu desative o login por senha no arquivo sshd_config, ele aparece a seguinte mensagem de erro ao tentar me conectar via ssh: Permission denied (publickey).
Título: Re:PERMISSÃO NEGADA VIA ACESSO SSH
Enviado por: agente100gelo em 08 de Outubro de 2017, 06:39
Por favor altere o título de sua mensagem. Não são permitidas mensagens em caixa alta.
Título: Re:PERMISSÃO NEGADA VIA ACESSO SSH
Enviado por: zekkerj em 08 de Outubro de 2017, 08:38
O usuário root é desativado no Ubuntu. Porque você quer ou precisa fazer um "ssh root@server"?
Título: Re:PERMISSÃO NEGADA VIA ACESSO SSH
Enviado por: pootz em 08 de Outubro de 2017, 12:09
O usuário root é desativado no Ubuntu. Porque você quer ou precisa fazer um "ssh root@server"?

Eu quero configurar um rsync para copiar os arquivos salvos no servidor para um servidor físico que roda Windows.

Referente ao root, tenho 3 outros servidores ubuntu configurados para se conectar automaticamente nesse mesmo server Ubuntu também para fazer rsync e funcionam sem problemas. Será que não é um problema causado pelo windows?

Tentei criar um usuário novo no linux e mesmo assim continua pedindo senha.
Título: Re:Permissão negada via acesso ssh
Enviado por: zekkerj em 08 de Outubro de 2017, 15:04
Não, é um problema causado por você querer usar o root. Use outro usuário, vá lá.
Título: Re:Permissão negada via acesso ssh
Enviado por: pootz em 08 de Outubro de 2017, 16:49
Não, é um problema causado por você querer usar o root. Use outro usuário, vá lá.

Criei um novo usuário, configurei as chaves ssh nele e mesmo assim, ao tentar me conectar ele pede a senha do usuário.

Apenas para explicar como eu fiz, caso tenha feito algo de errado kk, eu digitei o comando adduser nome_user como root. Depois loguei com esse usuário, digitei ssh-keygen, depois fui na pasta .ssh do usuário, criei o arquivo authorized_keys, coloquei a chave pública do meu windows, salvei depois copiei a chave pública do ubuntu para esse usuário e colei no authorized keys do windows.
Título: Re:Permissão negada via acesso ssh
Enviado por: zekkerj em 08 de Outubro de 2017, 20:35
Vc está usando qual aplicativo no windows pra esse acesso? Lembro que no PuTTY, por exemplo, era preciso converter o arquivo da chave privada.
Título: Re:Permissão negada via acesso ssh
Enviado por: pootz em 08 de Outubro de 2017, 21:07
Vc está usando qual aplicativo no windows pra esse acesso? Lembro que no PuTTY, por exemplo, era preciso converter o arquivo da chave privada.

Eu instalei um tal de cwrsync, que pelo oque eu entendi, ele permite rodar comandos linux no windows, como por exemplo o rsync. Daí eu acessei o cmd do windows e digitei ssh -v user@ip, daí ele disse deu as mensagens Permission denied (publickey) e pediu senha.

Apenas para conhecimento, o cwrsync cria uma pasta .ssh dentro do diretório dele também, daí eu criei uma chave rsa nessa pasta e na pasta do meu usuário lá dentro de users no disco C e tentei logar usando as 2 chaves, mas sem sucesso em ambos os casos.
Título: Re:Permissão negada via acesso ssh
Enviado por: zekkerj em 08 de Outubro de 2017, 21:57
Hmmm. Pode postar o conteúdo do arquivo /etc/ssh/ssh_config da máquina que vc pretende acessar?
Título: Re:Permissão negada via acesso ssh
Enviado por: pootz em 09 de Outubro de 2017, 00:35
Hmmm. Pode postar o conteúdo do arquivo /etc/ssh/ssh_config da máquina que vc pretende acessar?

Aqui está:
Código: [Selecionar]
# This is the ssh client system-wide configuration file.  See
# ssh_config(5) for more information.  This file provides defaults for
# users, and the values can be changed in per-user configuration files
# or on the command line.

# Configuration data is parsed as follows:
#  1. command line options
#  2. user-specific file
#  3. system-wide file
# Any configuration value is only changed the first time it is set.
# Thus, host-specific definitions should be at the beginning of the
# configuration file, and defaults at the end.

# Site-wide defaults for some commonly used options.  For a comprehensive
# list of available options, their meanings and defaults, please see the
# ssh_config(5) man page.

Host *
#   ForwardAgent no
#   ForwardX11 no
#   ForwardX11Trusted yes
#   RhostsRSAAuthentication no
#   RSAAuthentication yes
#   PasswordAuthentication yes
#   HostbasedAuthentication no
#   GSSAPIAuthentication no
#   GSSAPIDelegateCredentials no
#   GSSAPIKeyExchange no
#   GSSAPITrustDNS no
#   BatchMode no
#   CheckHostIP yes
#   AddressFamily any
#   ConnectTimeout 0
#   StrictHostKeyChecking ask
#   IdentityFile ~/.ssh/identity
#   IdentityFile ~/.ssh/id_rsa
#   IdentityFile ~/.ssh/id_dsa
#   IdentityFile ~/.ssh/id_ecdsa
#   IdentityFile ~/.ssh/id_ed25519
#   Port 22
#   Protocol 2
#   Cipher 3des
#   Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc
#   MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160
#   EscapeChar ~
#   Tunnel no
#   TunnelDevice any:any
#   PermitLocalCommand no
#   VisualHostKey no
#   ProxyCommand ssh -q -W %h:%p gateway.example.com
#   RekeyLimit 1G 1h
    SendEnv LANG LC_*
    HashKnownHosts yes
    GSSAPIAuthentication yes
    GSSAPIDelegateCredentials no
Título: Re:Permissão negada via acesso ssh
Enviado por: zekkerj em 09 de Outubro de 2017, 06:59
Vc ainda tem o arquivo de chave privada que criou, certo? Repita o comando ssh, mas agora assim:

ssh -i arquivo_chave_privada -v usuario@ip
Título: Re:Permissão negada via acesso ssh
Enviado por: pootz em 09 de Outubro de 2017, 09:06
Vc ainda tem o arquivo de chave privada que criou, certo? Repita o comando ssh, mas agora assim:

ssh -i arquivo_chave_privada -v usuario@ip

Naveguei até a pasta aonde se encontra o arquivo id_rsa no meu windows e executei o comando ssh -i id_rsa -v user@ip e cotinuou a mesma coisa. Tentei seguir os passos desse link: https://help.ubuntu.com/community/SSH/OpenSSH/Keys, mas não tinha nada q eu já n tivesse testado :/
Título: Re:Permissão negada via acesso ssh
Enviado por: zekkerj em 09 de Outubro de 2017, 09:57
Essa chave é a mesma que gerou a chave pública que vc usou no arquivo "authorized_keys" do destino, certo?

Vamos tentar ver isso acontecendo no próprio Linux, então, com uma nova chave.

execute os comandos abaixo na máquina de destino, confirme que eles funcionam.

# entrar no diretório .ssh dentro de sua pasta HOME
cd ~/.ssh

# gerar um novo par de chaves. Forneça uma senha p/ sua chave privada, ou aperte ENTER 2x p/ gerar a chave sem senha.
ssh-keygen -t rsa -b 2048 -f teste

# Copiar a chave pública p/ o usuário de destino. Neste ponto, você fornece a senha do usuário.
ssh-copy-id -i teste usuario@localhost

# Agora teste a conexão. Já não deve mais ser pedida a senha.
ssh -i teste usuario@localhost
Título: Re:Permissão negada via acesso ssh
Enviado por: pootz em 09 de Outubro de 2017, 12:46
Essa chave é a mesma que gerou a chave pública que vc usou no arquivo "authorized_keys" do destino, certo?

Vamos tentar ver isso acontecendo no próprio Linux, então, com uma nova chave.

execute os comandos abaixo na máquina de destino, confirme que eles funcionam.

# entrar no diretório .ssh dentro de sua pasta HOME
cd ~/.ssh

# gerar um novo par de chaves. Forneça uma senha p/ sua chave privada, ou aperte ENTER 2x p/ gerar a chave sem senha.
ssh-keygen -t rsa -b 2048 -f teste

# Copiar a chave pública p/ o usuário de destino. Neste ponto, você fornece a senha do usuário.
ssh-copy-id -i teste usuario@localhost

# Agora teste a conexão. Já não deve mais ser pedida a senha.
ssh -i teste usuario@localhost


Olá, loguei como usuário root, naveguei até a pasta /root/.ssh, executei os comandos da seguinte forma:
Código: [Selecionar]
cd /root/.ssh
ssh-keygen -t rsa -b 2048 -f ssh_user
ssh-copy-id -i ssh_user ssh_user@localhost
ssh -i ssh_user ssh_user@localhost

E funcionou sem problemas. Consegui logar como ssh_user a partir do usuário root sem senha.
Título: Re:Permissão negada via acesso ssh
Enviado por: zekkerj em 09 de Outubro de 2017, 12:56
Então provavelmente o problema anterior tem a ver com o formato do arquivo de chave.
Tenta ver se consegue exportar o arquivo "teste" pro Windows, consulte o manual do seu software pra ver se é necessário algum tipo de conversão.
Título: Re:Permissão negada via acesso ssh
Enviado por: pootz em 09 de Outubro de 2017, 13:51
Então provavelmente o problema anterior tem a ver com o formato do arquivo de chave.
Tenta ver se consegue exportar o arquivo "teste" pro Windows, consulte o manual do seu software pra ver se é necessário algum tipo de conversão.

Copiei a chave que eu criei no teste anterior e funcionou sem problemas ao me conectar no usuário ssh_user. :)
Título: Re:Permissão negada via acesso ssh
Enviado por: zekkerj em 09 de Outubro de 2017, 14:58
Estamos avançando, hein?
Prossiga seus testes usando essa chave, então. Avise se tiver mais alguma dificuldade.
Título: Re:Permissão negada via acesso ssh
Enviado por: pootz em 09 de Outubro de 2017, 20:34
Estamos avançando, hein?
Prossiga seus testes usando essa chave, então. Avise se tiver mais alguma dificuldade.

Uma dúvida, por que que sempre que eu vou fazer uma conexão ssh com essa chave, eu preciso informar o arquivo que contém a chave privada? No caso, usando o comando -i ssh_key
Título: Re:Permissão negada via acesso ssh
Enviado por: zekkerj em 09 de Outubro de 2017, 22:01
Por padrão, o SSH procura um arquivo de chave ".ssh/id_rsa". Se o arquivo não existe, ou se tem a chave correta, ele passa pra próxima autenticação autorizada (normalmente, senha).

Uma coisa que dá pra fazer e que fica muito legal é usar o nome do host como nome do arquivo. Tipo, dá pra colocar automaticamente a chave "id_rsa-meuHost" quando vc executar "ssh fulano@meuHost", por exemplo. Eu uso muito isso pra ter várias chaves de acesso, uma pra cada um dos meus (muitos) servidores.
Título: Re:Permissão negada via acesso ssh
Enviado por: pootz em 10 de Outubro de 2017, 00:18
Por padrão, o SSH procura um arquivo de chave ".ssh/id_rsa". Se o arquivo não existe, ou se tem a chave correta, ele passa pra próxima autenticação autorizada (normalmente, senha).

Uma coisa que dá pra fazer e que fica muito legal é usar o nome do host como nome do arquivo. Tipo, dá pra colocar automaticamente a chave "id_rsa-meuHost" quando vc executar "ssh fulano@meuHost", por exemplo. Eu uso muito isso pra ter várias chaves de acesso, uma pra cada um dos meus (muitos) servidores.

Cara, você sabe qual era o problema de eu não conseguir me conectar no usuário root do servidor através do meu windows? A versão do openSSH que ven instalado no windows... Baixei a última versão disponível pra esse sistema operacional e a parada começou a funcionar perfeitamente.