2013-06-27 3 views
57

При установке Hadoop в моей локальной машине, я получил следующее сообщение об ошибкеподключиться к хосту LOCALHOST порта 22: Соединение отклонено

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 

может кто-нибудь помочь мне решить эту ошибку, чем изменение номера порта

ответ

1

Мой номер порта отличается. я попытался с помощью

ssh localhost -p 8088 

это работало для меня

10

Check если этот порт открыт. Возможно, ваш демон SSH не работает. Посмотрите, работает ли sshd. Если нет, тогда запустите его.

+0

Я попытался дать команду sudo apt-get install openssh-server, он начал запрашивать пароль для hduser, где я не создавал никаких паролей для пользователя, как могу знать пароль по умолчанию для hduser – Surya

+1

Нет, он запрашивает пароль для пользователя root/sudo системы linux, где вы устанавливаете. – abhinav

+0

[корень @ локальный .ssh] #, который SSH /USR/бен/SSH [корень @ локальный .ssh] #, который Sshd /USR/SBIN/SSHD, SSH уже установлен в моей машине – Surya

27

У вас есть sshd? Вы можете убедиться в том, что с:

which ssh 
which sshd 

Для более подробной информации вы можете посетить this link.

+1

Я попытался дать sudo apt-get install openssh-server command, он начал спрашивать пароль для hduser, где я не создавал никакого пароля для пользователя, как я могу узнать пароль по умолчанию – Surya

+0

i устал, какой ssh, который sshd, это дает мне внутренний путь '/ usr/bin/ssh', они уже установлены в моей машине – Surya

+2

ssh - клиент, а sshd - сервер. Для установки 'sshd' используйте' sudo apt-get install openssh-server'. Когда вы создали учетную запись пользователя для 'hduser', вы должны создать пароль. Не путайте это с пустой кодовой фразой, которую вы могли бы установить для без пароля ssh из учетной записи 'hduser' для себя на localhost. – arun

5

Убедитесь, что /etc/hosts.allow содержит:

ssh:ALL:allow 
sshd:ALL:allow 

ИЛИ

ssh:localhost:allow 
sshd:localhost:allow 

ИЛИ - какой-то другой вариант

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

ОБЕСПЕЧИТ, что первая строка в файле не начинается с ALL: ALL: DENY

НИЧЕГО не будет в состоянии общаться с хозяином ... на любом порту.

+0

Отличный ответ! –

77

Если установить Hadoop на Mac OSX, убедитесь, что поворот на Remote Вход под Системные настройки затем Sharing файла. Это работало на моей машине.

Remote Login

+1

FYI, это сработало для меня, чтобы решить эту ошибку в genral (для будущих пользователей), похоже, не имеет ничего общего с Hadoop. Благодаря! – joedragons

+1

Это работало как шарм – AndyH

+1

Это тоже работало для меня. – syodage

38
  1. Удалить SSH с помощью следующей команды:

    sudo apt-get remove openssh-client openssh-server 
    
  2. Установка SSH снова:

    sudo apt-get install openssh-client openssh-server 
    

Это позволит решить вашу проблему.

+1

Несмотря на то, что ответ звучит странно, он отлично работает даже на порту 22. – user1613360

+0

Зачем это нужно удалить? Если бы там была проблема, ее не было бы. – EJP

+1

Я думаю, причина в том, что он не установлен должным образом до –

12

Попробуйте установить весь пакет SSH пакет:

sudo apt-get install ssh 

Я имел ssh команды на моей Ubuntu, но получил ошибку, как вы едите. После полной установки все было разрешено.

1

Если вы по-прежнему сталкиваются с проблемами, попробуйте следующее:

sudo ufw enable  
sudo apt-get install openssh-server 

Это может работать тоже.

0

Возможно, вы должны отредактировать свой /etc/hosts. Например, если мой hostname является ub0, но hostname в /etc/hosts является localhost, это может произойти

connect to host ub0 port 22: Connection refused 

Поскольку hostname в /etc/hosts является localhost не ub0.

Итак, вы должны быть осторожны при создании распределенных кластеров hostname.

3

Для моего случая (ubuntu 14.04, свежий установлен), я просто запускаю следующую команду, и она работает!

sudo apt-get install ssh

2

Я сделал все предложения выше, и это не сработало. Затем я перезапускаю службу ssh, и она работает. Это то, что я делаю:

service ssh restart 

Тогда я заново

ssh localhost 

Теперь я могу подключиться к локальному хосту. Надеюсь, что это помогает

1

Это может быть вызвано некоторыми из следующих действий:

  1. SSH сервер не установлен (только SSH клиент), попробуйте: apt-get install ssh openssh-client openssh-server
  2. Подключение блокируется IPTables (Firewall), попробуйте : ufw allow ssh
0

На самом деле я решил это, Я только что установил демон shh.

в терминале:

SUDO APT-получить установки OpenSSH-сервера

1

При перезапуске сервиса, то он будет работать

$ служба SSHD перезапустить

затем проверка

$ SSH локальный

Он будет работать

+0

Удивительный! это сработало. – hAlE

0

способ сделать это пойти к терминалу

$ sudo gedit /etc/hosts 

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

и снова перезапустить службу SSH с помощью:

$ service ssh restart 

проблема будет разрешить. Thanks

0

На Mac перейти к настройкам системы-> network-> обмен и разрешить удаленный вход в систему.

попытка SSH локальный

Вы должны быть хорошими.

3

Для чего у меня возникла следующая ошибка при попытке ssh на моей локальной машине, запущенной Ubuntu 16.04 Xenial, из vm.

ssh: connect to host 192.168.144.18 port 22: Connection refused 

Он получил сразу фиксировали:

sudo apt-get install ssh 

принять к сведению, до исправления: 'который Sshd' не дал ничего и 'который SSH' возвращенное

/usr/bin/ssh 

И после исправления: ', которые sshd' возвратил

/usr/sbin/sshd 
1

Если вы используете centOS или Red Hat, вы должны сначала обновить SElinux. Выполнить следующее заявление

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

, то вам необходимо выполнить

semodule -i my-sshd.pp 

удачи

0

Если вы уверены, что вы установили SSH, то вполне возможно, что ssh и/или sshd было прекращено или серверная служба не была запущена.Для проверки того, работают ли использовать эти процессы:

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

ИЛИ

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

Вполне вероятно, что ssh будет активен и работает, но sshd не будет. Для их включения:

sudo service ssh start 

NB; - у некоторых систем есть опция перезапуска, но у меня не было