conectar à porta 22 do host localhost: conexão recusada


86

Ao instalar o hadoop na minha máquina local, recebi o seguinte erro

ssh -vvv localhost 
OpenSSH_5.5p1, OpenSSL 1.0.0e-fips 6 Sep 2011 
debug1: Reading configuration data /etc/ssh/ssh_config    
debug1: Applying options for * 
debug2: ssh_connect: needpriv 0 
debug1: Connecting to localhost [127.0.0.1] port 22. 
debug1: connect to address 127.0.0.1 port 22: Connection refused 
ssh: connect to host localhost port 22: Connection refused

alguém pode me ajudar a resolver este erro, do que mudar o número da porta

Respostas:


116

Se instalar o Hadoop no Mac OSX, certifique-se de ativar o Login remoto em Preferências do sistema e em Compartilhamento de arquivos . Isso funcionou na minha máquina.

Login Remoto


2
Para sua informação, isso funcionou para mim para resolver esse erro em geral (para usuários futuros) aparentemente não tem nada a ver especificamente com o Hadoop. Obrigado!
joedragons

83
  1. Remova SSH com o seguinte comando:

    sudo apt-get remove openssh-client openssh-server
    
  2. Instale o SSH novamente com:

    sudo apt-get install openssh-client openssh-server
    

Isso resolverá seu problema.


2
Embora a resposta pareça estranha, ela funciona perfeitamente mesmo na porta 22.
user1613360

Por que seria necessário removê-lo? Se estivesse lá, o problema não existiria.
Marquês de Lorne

2
Acho que o motivo é que não foi instalado corretamente antes
Divyang Shah

1
Trabalhe como um encanto :)
Ashis Parajuli

1
@patrick o processo de remoção é necessário no caso de ser adicionado parcialmente ou não em um estágio consistente.
Divyang Shah

32

Você sshdinstalou? Você pode verificar isso com:

which ssh
which sshd

Para informações detalhadas, você pode visitar este link .


1
Eu tentei dar o comando sudo apt-get install openssh-server, ele começou a pedir senha para hduser, onde eu não criei nenhuma senha para o usuário, como posso saber a senha padrão
Surya

cansei qual ssh, qual sshd, isso me dá o caminho interno '/ usr / bin / ssh', eles já estão instalados em minha máquina
Surya

3
ssh é o cliente e sshd é o servidor. Para instalar, sshduse sudo apt-get install openssh-server. Ao criar a conta de usuário para hduser, você deve ter criado uma senha. Não confunda isso com a frase-senha vazia que você pode ter definido para ssh sem senha da hduserconta para si mesma no localhost.
arun

23

Tente instalar o pacote de pacote SSH completo:

sudo apt-get install ssh

Eu tinha o sshcomando no meu Ubuntu, mas recebi o erro como você tem. Após a instalação completa, tudo foi resolvido.


1
Isso resolveu para mim, era exatamente a minha situação (eu também já tinha o sshd instalado e funcionando, fora da caixa). No Ubuntu 19.04.
Jonathan Hartley

11

Verifique se esta porta está aberta. Talvez seu demônio SSH não esteja funcionando. Veja se o sshd está rodando. Se não, inicie.


Eu tentei dar o comando sudo apt-get install openssh-server, ele começou a pedir senha para hduser, onde eu não criei nenhuma senha para o usuário, como posso saber a senha padrão para hduser
Surya

1
Não está pedindo a senha do usuário root / sudo do sistema linux onde você está instalando.
abhinav

[root @ localhost .ssh] # qual ssh / usr / bin / ssh [root @ localhost .ssh] # qual sshd / usr / sbin / sshd, ssh já está instalado em minha máquina
Surya

1
em seguida, execute o sshd demon /bin/etc/init.d sshd start
abhinav

sshd re-exec requer execução com um caminho absoluto, esta é a mensagem do caminho
Surya

10

Eu fiz todas as sugestões acima e não funcionou. Então eu reinicio o serviço ssh e funciona. Isto é o que eu faço:

service ssh restart

Então eu refaço

ssh localhost

Agora posso me conectar ao meu host local. Espero que ajude


6

Certifique-se de que /etc/hosts.allow contém:

ssh:ALL:allow
sshd:ALL:allow

OU

ssh:localhost:allow
sshd:localhost:allow

OU - alguma outra variante

ssh:{host1,host2,host3...}:allow
sshd{host1,host2,host3...}:allow

CERTIFIQUE-SE de que a primeira linha do arquivo NÃO comece com ALL: ALL: DENY

NADA poderá se comunicar com o host ... em qualquer porta.


Resposta perfeita!
Kanuj Bhatnagar

5

Se você reiniciar o serviço, ele funcionará

$ service sshd restart

então verifique

$ ssh localhost

Vai funcionar


5

Eu uso um Mac, isso funcionou para mim:

Abra as Preferências do Sistema e pesquise por 'compartilhamento'.

Escolha Login Remoto, certifique-se de que esteja ativado e lembre-se de adicionar os usuários necessários.insira a descrição da imagem aqui

Entendi daqui


4

Para o meu caso (ubuntu 14.04, instalado recentemente), apenas executo o seguinte comando e funciona!

sudo apt-get install ssh


4

De qualquer forma, recebi o seguinte erro ao tentar fazer o ssh em minha máquina local, executando o Ubuntu 16.04 Xenial, a partir de uma VM.

 ssh: connect to host 192.168.144.18 port 22: Connection refused

Foi corrigido imediatamente com:

sudo apt-get install ssh

Tome nota, antes de corrigir: 'which sshd' não retornou nada e 'which ssh' retornou

/usr/bin/ssh

E depois da correção: 'which sshd' retornou

/usr/sbin/sshd

4

Eu usei:

sudo service ssh start

Então:

ssh localhost

3

Pode ser causado por algum dos seguintes motivos:

  1. Servidor SSH não está instalado (apenas cliente SSH), tente: apt-get install ssh openssh-client openssh-server
  2. A conexão está bloqueada por iptables (Firewall), tente: ufw allow ssh

por padrão, o ssh é bloqueado no firewall, mesmo durante a instalação com o openssh ativado
DoctorPangloss

3

No mac, vá para configurações do sistema-> rede-> compartilhamento e permita o login remoto.

tente ssh localhost

Você deve ser bom.


3

O que funcionou para mim é:

sudo mkdir /var/run/sshd
sudo apt-get install --reinstall openssh-server

Eu tentei todas as soluções mencionadas acima, mas de alguma forma esse diretório / var / run / sshd ainda estava faltando para mim. Tenho Ubuntu 16.04.4 LTS. Espero que minha resposta ajude se alguém tiver o mesmo problema.


1

Meu número de porta é diferente. eu tentei usar

ssh localhost -p 8088

isso funcionou para mim


1

Se você ainda tiver problemas, tente o seguinte:

sudo ufw enable    
sudo apt-get install openssh-server

Isso pode funcionar também.



1

Uma maneira de fazer é ir ao terminal

$ sudo gedit /etc/hosts

***enter your ip address ipaddress of your pc  localhost 
    ipaddress of your pc  localhost(Edit your pc name with localhost) **

e reinicie seu serviço ssh usando:

$ service ssh restart

O problema será resolvido. obrigado


1

se você estiver usando o centOS ou Red Hat, você deve primeiro atualizar o SElinux. Execute a seguinte declaração

ausearch -c 'sshd' --raw | audit2allow -M my-sshd

então você precisa executar

semodule -i my-sshd.pp

boa sorte


1

Se você tem certeza de que instalou o ssh, é possível que sshe / ou sshdtenha sido encerrado ou o serviço do servidor não tenha sido iniciado. Para verificar se esses processos estão em execução, use:

//this tells you whether your ssh instance is active/inactive
sudo service ssh status

OU

//this list all running processes whose names contain the string "ssh"
sudo ps -A | grep ssh

É provável que sshestivesse ativo e funcionando, mas sshdnão. Para habilitá-los:

sudo service ssh start

NB; - alguns sistemas têm uma opção de reinicialização, mas o meu não


1

tentar sudo vi /etc/ssh/sshd_config

nas primeiras mentiras você encontrará

Arquivo de configuração gerado pelo pacote

Veja a página de manual sshd_config (5) para detalhes

Quais portas, IPs e protocolos ouvimos

Porta xxxxx

mude a porta xxxxx para "Porta 22" e saia do vi salvando as alterações.

reinicie o ssh sudo service ssh restart


1
  1. Antes de instalar / reinstalar qualquer coisa, verifique o status do sshd. . .
sudo systemctl status sshd
  1. Você deveria ver algo parecido. . .
● sshd.service - OpenSSH server daemon
   Loaded: loaded (/usr/lib/systemd/system/sshd.service; disabled; vendor prese>
   Active: inactive (dead)
     Docs: man:sshd(8)
           man:sshd_config(5)
  1. Basta habilitar e iniciar o sshd
sudo systemctl enable sshd
sudo systemctl start sshd

0

Você deve editar o seu /etc/hosts. Por exemplo, se meu hostnamefor ub0, mas o hostnamein /etc/hostsfor localhost, pode ocorrer

connect to host ub0 port 22: Connection refused

Porque o hostnamein não /etc/hostsé .localhostub0

Portanto, você deve ter cuidado hostnameao construir clusters distribuídos.


0

Para Linux:

  1. Remova SSH com o seguinte comando:

    sudo apt-get remove openssh-client openssh-server
    
  2. Instale o SSH novamente com:

    sudo apt-get install openssh-client openssh-server
    

0

você precisa verificar a configuração em sshd_config ListenAddress 0.0.0.0 atualize isso e reinicie o serviço sshd que resolverá o problema.



0

Verifique o arquivo / etc / ssh / sshd_config para o número da porta. Certifique-se de que seja 22.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.