호스트 localhost 포트 22에 연결 : 연결이 거부되었습니다.


90

내 로컬 컴퓨터에 hadoop을 설치하는 동안 다음 오류가 발생했습니다.

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

포트 번호를 변경하는 것 보다이 오류를 해결하는 데 도움이 될 수 있습니까?

답변:


118

맥 OSX에 하둡을 설치하는 경우에 반드시 차례 있도록 원격 로그인 에서 시스템 환경 설정은 다음 파일 공유 . 이것은 내 컴퓨터에서 작동했습니다.

원격 로그인


2
참고로, 이것은 (미래 사용자를 위해) 일반적으로 Hadoop과 특별히 관련이없는 것처럼 보이는이 오류를 해결하는 데 도움이되었습니다. 감사!
joedragons

89
  1. 다음 명령을 사용하여 SSH를 제거합니다.

    sudo apt-get remove openssh-client openssh-server
    
  2. 다음을 사용하여 SSH를 다시 ​​설치하십시오.

    sudo apt-get install openssh-client openssh-server
    

그것은 당신의 문제를 해결할 것입니다.


3
대답 소리가 비록 이상한 심지어 포트 (22)에 완벽하게 작동
user1613360

2
나는 그 이유가 제대로하기 전에 설치되어 있지의 생각
Divyang 샤

1
:) 매력처럼 작동
Ashis Parajuli

1
@patrick 부분적으로 추가되거나 일관된 단계가 아닌 경우 제거 프로세스가 필요합니다.
Divyang Shah

1
이것은 말도 안되는 일입니다. 4 시간 후에 다시 설치해야합니다. 나는 기사를 쓸 것이다.
Leafyshark

33

당신은 한하십니까 sshd설치되어 있습니까? 다음을 통해 확인할 수 있습니다.

which ssh
which sshd

자세한 정보를 보려면 이 링크를 방문 하십시오 .


1
나는 sudo apt-get install openssh-server 명령을 제공하려고 시도했습니다. hduser에 대한 암호를 묻기 시작했습니다. 여기서 사용자에 대한 암호를 만들지 않았습니다. 기본 암호를 어떻게 알 수 있습니까?
Surya

나는 어떤 ssh, 어떤 sshd, 이것은 나에게 내부 경로 '/ usr / bin / ssh'를 제공합니다. 그들은 이미 내 컴퓨터에 설치되어 있습니다
Surya

3
ssh는 클라이언트이고 sshd는 서버입니다. 설치 sshd하려면 sudo apt-get install openssh-server. 에 대한 사용자 계정을 hduser만들 때 암호를 만들어야합니다. 암호가없는 ssh를 hduser계정에서 localhost의 자체로 설정했을 수있는 빈 암호와 혼동하지 마십시오 .
arun

23

전체 SSH 패키지 팩을 설치해보십시오.

sudo apt-get install ssh

나는했다 ssh나의 우분투에 명령을하지만이 같은 오류가 발생했습니다. 전체 설치 후 모든 것이 해결되었습니다.


1
이것은 나를 위해 그것을 해결했으며 정확히 내 상황이었습니다 (저는 이미 sshd를 설치하고 실행 중입니다). Ubuntu 19.04.
Jonathan Hartley

12

이 포트가 열려 있는지 확인하십시오. SSH 악마가 실행되고 있지 않을 수 있습니다. sshd가 실행 중인지 확인하십시오. 그렇지 않은 경우 시작하십시오.


내가 apt-get을는 openssh-server 명령을 설치, 그것은 내가 hduser에 대한 기본 암호를 알 수있는 방법을 사용자에 대한 일체의 암호를 만들 didnt는 hduser에 대한 암호를 물어 시작 sudo를주는 시도
수르야

1
아니요, 설치하려는 Linux 시스템의 root / sudo 사용자에 대한 암호를 묻습니다.
abhinav

[root @ localhost .ssh] # 어느 ssh / usr / bin / ssh [root @ localhost .ssh] # 어느 sshd / usr / sbin / sshd, ssh가 이미 내 컴퓨터에 설치되어 있습니다
Surya

1
그런 다음 sshd 악마 /bin/etc/init.d를 실행하십시오. sshd start
abhinav

sshd를 재 간부 절대 경로와 실행을 필요로이 경로로부터의 메시지이다
수리야

10

위의 모든 제안을 수행했지만 작동하지 않았습니다. 그런 다음 ssh 서비스를 다시 시작하면 작동합니다. 이것이 제가하는 것입니다:

service ssh restart

그런 다음 다시

ssh localhost

이제 로컬 호스트에 연결할 수 있습니다. 도움이되기를 바랍니다.


6

/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로 시작하지 않는지 확인하십시오.

어떤 포트에서도 호스트와 통신 할 수있는 것은 없습니다.


완벽한 대답!
Kanuj Bhatnagar

6

나는 다음을 사용했다 :

sudo service ssh start

그때:

ssh localhost

6

서비스를 다시 시작하면 작동합니다.

$ service sshd restart

그런 다음 확인

$ ssh localhost

작동합니다


6

나는 Mac을 사용하는데 이것은 나를 위해 일했습니다.

시스템 환경 설정을 열고 '공유'를 검색합니다.

원격 로그인을 선택하고 켜져 있는지 확인하고 필요한 사용자를 추가해야합니다.여기에 이미지 설명 입력

여기에서 얻었습니다.


4

내 경우 (ubuntu 14.04, 새로 설치됨) 다음 명령을 실행하면 작동합니다!

sudo apt-get install ssh


4

그 가치를 위해 vm에서 Ubuntu 16.04 Xenial을 실행하는 로컬 컴퓨터로 ssh를 시도하는 중 다음 오류가 발생했습니다.

 ssh: connect to host 192.168.144.18 port 22: Connection refused

다음과 같이 즉시 수정되었습니다.

sudo apt-get install ssh

수정 전 : 'which sshd'는 아무것도 반환하지 않았고 'which ssh'는 반환했습니다.

/usr/bin/ssh

그리고 수정 후 : 'which sshd'가 반환되었습니다.

/usr/sbin/sshd

3

다음 중 일부로 인해 발생할 수 있습니다.

  1. SSH 서버가 설치되지 않았습니다 (SSH 클라이언트 만 해당). 다음을 시도하십시오. apt-get install ssh openssh-client openssh-server
  2. 연결이 iptables (방화벽)에 의해 차단되었습니다. 시도해보십시오. ufw allow ssh

기본적으로 SSH는 OpenSSH를 사용하여 설치를 사용할 경우에도, 방화벽에서 차단
DoctorPangloss

3

Mac에서는 시스템 설정-> 네트워크-> 공유로 이동하여 원격 로그인을 허용합니다.

ssh localhost 시도

당신은 잘해야합니다.


3

나를 위해 일한 것은 다음과 같습니다.

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

위에서 언급 한 모든 솔루션을 시도했지만 어떻게 든이 디렉토리 / var / run / sshd가 여전히 나를 위해 누락되었습니다. Ubuntu 16.04.4 LTS가 있습니다. 누군가 같은 문제가 있으면 내 대답이 도움이되기를 바랍니다.


2
  1. 설치 / 재설치하기 전에 sshd의 상태를 확인하십시오. . .
sudo systemctl status sshd
  1. 와 같은 것을 볼 수 있습니다. . .
● 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. sshd를 활성화하고 시작하십시오.
sudo systemctl enable sshd
sudo systemctl start sshd

우분투에서이 의지 작업 : ssh.service 수 systemctl
크리슈나 쿠마르 싱

1

내 포트 번호가 다릅니다. 나는 사용해 보았다

ssh localhost -p 8088

이것은 나를 위해 일했다


1

여전히 문제가 발생하면 다음을 시도하십시오.

sudo ufw enable    
sudo apt-get install openssh-server

이것도 작동 할 수 있습니다.


1

사실 나는 이것을 해결했고, 방금 shh 데몬을 설치했습니다.

터미널에서 :

sudo apt-get install openssh-server


1

할 방법은 터미널로 이동하는 것입니다

$ 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

문제가 해결 될 것입니다. 감사


1

centOS 또는 Red Hat을 사용하는 경우 먼저 SElinux를 업데이트해야합니다. 다음 문을 실행합니다.

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

그런 다음 실행해야합니다

semodule -i my-sshd.pp

행운을 빕니다


1

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; -일부 시스템에는 재시작 옵션이 있지만 내 시스템에는 없습니다


1

시험 sudo vi /etc/ssh/sshd_config

처음 몇 가지 거짓말에서 찾을 수 있습니다

패키지 생성 구성 파일

자세한 내용은 sshd_config (5) 맨 페이지를 참조하십시오.

우리가 수신하는 포트, IP 및 프로토콜

포트 xxxxx

포트 xxxxx를 "포트 22"로 변경하고 변경 사항을 저장하여 vi를 종료하십시오.

ssh 다시 시작 sudo service ssh restart


0

당신은 당신을 수정해야 할 수 있습니다 /etc/hosts. 예를 들어 my hostnameub0이지만 hostnamein /etc/hostslocalhost인 경우 발생할 수 있습니다.

connect to host ub0 port 22: Connection refused

hostnamein /etc/hostslocalhost아니기 때문에 ub0.

따라서 hostname분산 클러스터를 구축 할 때 주의해야 합니다.


0

Linux의 경우 :

  1. 다음 명령을 사용하여 SSH를 제거합니다.

    sudo apt-get remove openssh-client openssh-server
    
  2. 다음을 사용하여 SSH를 다시 ​​설치하십시오.

    sudo apt-get install openssh-client openssh-server
    

0

sshd_config ListenAddress 0.0.0.0의 구성을 확인하고이를 업데이트하고 문제를 해결할 sshd 서비스를 다시 시작해야합니다.



0

포트 번호는 / etc / ssh / sshd_config 파일을 확인하십시오. 22인지 확인하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.