kết nối với máy chủ localhost cổng 22: Kết nối bị từ chối


86

Trong khi cài đặt hadoop trong máy cục bộ của mình, tôi gặp lỗi sau

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

ai đó có thể giúp tôi giải quyết lỗi này, ngoài việc thay đổi số cổng

Câu trả lời:


118

Nếu cài đặt Hadoop trên Mac OSX, hãy đảm bảo bật Đăng nhập từ xa trong Tùy chọn hệ thống rồi đến Chia sẻ tệp . Điều này đã hoạt động trên máy của tôi.

Đăng nhập từ xa


2
FYI, điều này giúp tôi giải quyết lỗi này trong genral (cho người dùng trong tương lai) dường như không liên quan cụ thể đến Hadoop. Cảm ơn!
joedragons

83
  1. Xóa SSH bằng lệnh sau:

    sudo apt-get remove openssh-client openssh-server
    
  2. Cài đặt lại SSH bằng:

    sudo apt-get install openssh-client openssh-server
    

Nó sẽ giải quyết vấn đề của bạn.


2
Mặc dù câu trả lời nghe có vẻ lạ nó hoạt động hoàn hảo ngay cả trên cổng 22.
user1613360

Tại sao nó là cần thiết để loại bỏ nó? Nếu có thì vấn đề sẽ không tồn tại.
Marquis of Lorne,

2
Tôi nghĩ lý do là nó không được cài đặt đúng cách trước khi
Divyang Shah

1
Làm việc như một nét duyên dáng :)
Ashis Parajuli

1
@patrick, quá trình loại bỏ là cần thiết trong trường hợp nó được thêm một phần hoặc không trong một giai đoạn nhất quán.
Divyang Shah

32

Bạn đã sshdcài đặt chưa? Bạn có thể xác minh điều đó bằng:

which ssh
which sshd

Để biết thông tin chi tiết, bạn có thể truy cập liên kết này .


1
tôi đã cố gắng đưa ra sudo apt-get install lệnh openssh-server, nó bắt đầu hỏi mật khẩu cho hduser, nơi i didnt tạo ra bất kỳ mật khẩu cho người sử dụng, làm thế nào tôi có thể biết mật khẩu mặc định
Surya

tôi mệt mỏi mà ssh, mà sshd, điều này mang lại cho tôi con đường nội bộ '/ usr / bin / ssh', họ đã được cài đặt trong máy tính của tôi
Surya

3
ssh là máy khách và sshd là máy chủ. Để cài đặt sshdsử dụng sudo apt-get install openssh-server. Khi bạn tạo tài khoản người dùng cho hduser, bạn phải tạo mật khẩu. Đừng nhầm lẫn điều đó với cụm mật khẩu trống mà bạn có thể đã đặt cho ssh không mật khẩu từ hdusertài khoản cho chính nó trên localhost.
arun

23

Thử cài đặt toàn bộ gói gói SSH:

sudo apt-get install ssh

Tôi đã có sshlệnh trên Ubuntu của mình nhưng gặp lỗi như bạn gặp phải. Sau khi cài đặt đầy đủ, tất cả đã được giải quyết.


1
Điều này đã giải quyết nó cho tôi, chính xác là tình huống của tôi (tôi cũng đã cài đặt và chạy sshd, ra khỏi hộp). Trên Ubuntu 19.04.
Jonathan Hartley

11

Kiểm tra xem cổng này đã mở chưa. Có thể con quỷ SSH của bạn không chạy. Xem sshd có đang chạy không. Nếu không, sau đó bắt đầu nó.


tôi đã cố gắng đưa ra sudo apt-get install lệnh openssh-server, nó bắt đầu hỏi mật khẩu cho hduser, nơi i didnt tạo ra bất kỳ mật khẩu cho người sử dụng, làm thế nào tôi có thể biết mật khẩu mặc định cho hduser
Surya

1
Không, đó là yêu cầu mật khẩu cho người dùng root / sudo của hệ thống linux nơi bạn đang cài đặt.
abhinav

[root @ localhost .ssh] # ssh / usr / bin / ssh [root @ localhost .ssh] # sshd / usr / sbin / sshd, ssh đã được cài đặt trong máy của tôi
Surya

1
sau đó chạy sshd quỷ /bin/etc/init.d sshd bắt đầu
Abhinav

sshd re-Operating yêu cầu thực thi với một đường dẫn tuyệt đối, đây là thông báo từ đường dẫn
Surya

10

Tôi đã làm tất cả các đề xuất ở trên và nó không hoạt động. Sau đó, tôi khởi động lại dịch vụ ssh và nó hoạt động. Đây là những gì tôi làm:

service ssh restart

Sau đó tôi làm lại

ssh localhost

Bây giờ tôi có thể kết nối với localhost của mình. Hy vọng nó giúp


6

Đảm bảo rằng /etc/hosts.allow chứa:

ssh:ALL:allow
sshd:ALL:allow

HOẶC LÀ

ssh:localhost:allow
sshd:localhost:allow

HOẶC - một số biến thể khác

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

ĐẢM BẢO rằng dòng đầu tiên trong tệp KHÔNG bắt đầu bằng ALL: ALL: DENY

KHÔNG CÓ GÌ sẽ có thể giao tiếp với máy chủ ... trên bất kỳ cổng nào.


Câu trả lời hoàn hảo!
Kanuj Bhatnagar

6

Nếu bạn khởi động lại dịch vụ thì nó sẽ hoạt động

$ service sshd restart

sau đó kiểm tra

$ ssh localhost

Nó sẽ hoạt động


5

Tôi sử dụng máy Mac, điều này phù hợp với tôi:

Mở Tùy chọn Hệ thống, sau đó tìm kiếm 'chia sẻ'.

Chọn Đăng nhập từ xa, đảm bảo rằng nó được bật và nhớ thêm người dùng cần thiết.nhập mô tả hình ảnh ở đây

Lấy nó từ đây


4

Đối với trường hợp của tôi (ubuntu 14.04, mới được cài đặt), tôi chỉ cần chạy lệnh sau và nó hoạt động!

sudo apt-get install ssh


4

Đối với những gì đáng giá của nó, tôi đã gặp lỗi sau khi cố gắng ssh vào máy cục bộ của tôi, chạy Ubuntu 16.04 Xenial, từ một vm.

 ssh: connect to host 192.168.144.18 port 22: Connection refused

Nó đã được khắc phục ngay lập tức với:

sudo apt-get install ssh

Hãy lưu ý, Trước khi sửa: 'which sshd' không trả lại gì và 'which ssh' trả lại

/usr/bin/ssh

Và Sau khi sửa chữa: 'which sshd' trở lại

/usr/sbin/sshd

4

Tôi đã sử dụng:

sudo service ssh start

Sau đó:

ssh localhost

3

Nó có thể do một số nguyên nhân sau:

  1. Máy chủ SSH chưa được cài đặt (chỉ Máy khách SSH), hãy thử: apt-get install ssh openssh-client openssh-server
  2. Kết nối bị chặn bởi iptables (Tường lửa), hãy thử: ufw allow ssh

theo mặc định ssh bị chặn trên tường lửa, ngay cả khi cài đặt có bật openssh
DoctorPangloss

3

Trên mac, hãy vào cài đặt hệ thống-> mạng-> chia sẻ và cho phép đăng nhập từ xa.

thử ssh localhost

Bạn nên tốt.


3

Điều làm việc cho tôi là:

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

Tôi đã thử tất cả các giải pháp được đề cập ở trên nhưng bằng cách nào đó thư mục / var / run / sshd này vẫn bị thiếu đối với tôi. Tôi có Ubuntu 16.04.4 LTS. Hy vọng câu trả lời của tôi sẽ giúp nếu ai đó có cùng một vấn đề.


1

Số cổng của tôi khác. tôi đã thử sử dụng

ssh localhost -p 8088

điều này đã làm việc cho tôi


1

Nếu bạn vẫn gặp sự cố, hãy thử những cách sau:

sudo ufw enable    
sudo apt-get install openssh-server

Điều này cũng có thể hoạt động.


1

Trên thực tế, tôi đã giải quyết vấn đề này, tôi chỉ cài đặt shh daemon.

trong thiết bị đầu cuối:

sudo apt-get install openssh-server


1

Một cách để làm là đi đến thiết bị đầu cuối

$ sudo gedit /etc/hosts

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

và khởi động lại dịch vụ ssh của bạn bằng cách sử dụng:

$ service ssh restart

Vấn đề sẽ được giải quyết. Cảm ơn


1

nếu bạn đang sử dụng centOS hoặc Red Hat, trước tiên bạn nên cập nhật SElinux. Thực hiện câu lệnh sau

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

sau đó bạn cần thực hiện

semodule -i my-sshd.pp

chúc may mắn


1

Nếu bạn chắc chắn rằng bạn đã cài đặt ssh, thì có thể là sshvà / hoặc sshdđã bị chấm dứt hoặc dịch vụ máy chủ chưa được khởi động. Để kiểm tra xem các quy trình này có đang chạy hay không, hãy sử dụng:

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

HOẶC LÀ

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

Nó có thể sshsẽ hoạt động và chạy nhưng sshdsẽ không. Để kích hoạt chúng:

sudo service ssh start

NB; - một số hệ thống có tùy chọn khởi động lại nhưng của tôi thì không


1

thử sudo vi /etc/ssh/sshd_config

trong vài lời nói dối đầu tiên bạn sẽ tìm thấy

Tệp cấu hình được tạo gói

Xem trang sshd_config (5) để biết thêm chi tiết

Cổng, IP và giao thức nào chúng tôi lắng nghe

Cổng xxxxx

thay đổi Cổng xxxxx thành "Cổng 22" và thoát vi bằng cách lưu các thay đổi.

khởi động lại ssh sudo service ssh restart


1
  1. Trước khi cài đặt / cài đặt lại bất cứ thứ gì, hãy kiểm tra trạng thái của sshd. . .
sudo systemctl status sshd
  1. Bạn sẽ thấy một cái gì đó như thế nào. . .
● 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. Chỉ cần bật và khởi động sshd
sudo systemctl enable sshd
sudo systemctl start sshd

0

Bạn có thể nên chỉnh sửa của bạn /etc/hosts. Ví dụ, nếu tôi hostnameub0, nhưng hostnametrong /etc/hostslocalhost, nó có thể xảy ra

connect to host ub0 port 22: Connection refused

Bởi vì hostnametrong không phải /etc/hostslà .localhostub0

Vì vậy, bạn nên cẩn thận hostnamekhi xây dựng các cụm phân tán.


0

Đối với Linux:

  1. Xóa SSH bằng lệnh sau:

    sudo apt-get remove openssh-client openssh-server
    
  2. Cài đặt lại SSH bằng:

    sudo apt-get install openssh-client openssh-server
    

0

bạn cần kiểm tra cấu hình trong bản cập nhật sshd_config ListenAddress 0.0.0.0 này và khởi động lại dịch vụ sshd sẽ giải quyết được sự cố.



0

Kiểm tra tệp / etc / ssh / sshd_config để biết số Cổng. Hãy chắc chắn rằng nó là 22.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.