ホストローカルホストポート22に接続:接続が拒否されました


86

ローカルマシンに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

ポート番号を変更するよりも、誰かがこのエラーを解決するのを手伝ってくれる?

回答:


116

マックOSX上でのHadoopをインストールする場合は、上の確認ターン作るリモートログインの下でシステム環境設定後、ファイル共有を。これは私のマシンで動作しました。

リモートログイン


2
参考までに、これは(将来のユーザーのために)一般的なこのエラーを解決するために私にとってはうまくいきましたが、Hadoopとは特に関係がないようです。ありがとう!
joedragons 2015

83
  1. 次のコマンドでSSHを削除します。

    sudo apt-get remove openssh-client openssh-server
    
  2. 次のコマンドでSSHを再インストールします。

    sudo apt-get install openssh-client openssh-server
    

それはあなたの問題を解決します。


2
答えが聞こえるにもかかわらず、奇妙なことにもポート22で完璧に動作します
user1613360

なぜそれを削除する必要があるのでしょうか?もしそれがあれば、問題は存在しなかったでしょう。
ローン侯爵2016年

2
その理由は、以前は正しくインストールされていなかったためだと思います
Divyang Shah 2016

1
魅力のように働く:)
Ashis Parajuli 2017年

1
@patrick部分的に追加された場合、または一貫した段階にない場合は、削除プロセスが必要です。
Divyang Shah 2017

32

あなたは持っていますsshdインストールされていますか?次の方法で確認できます。

which ssh
which sshd

詳細については、このリンクにアクセスしてください


1
sudo apt-get install openssh-serverコマンドを実行しようとしましたが、hduserのパスワードを要求し始めました。ここで、ユーザーのパスワードを作成していません。デフォルトのパスワードを知る方法
Surya

私はどのssh、どのsshdに疲れました、これは私に内部パス '/ usr / bin / ssh'を与えます、それらはすでに私のマシンにインストールされています
Surya 2013年

3
sshはクライアントで、sshdはサーバーです。インストールするには、をsshd使用しますsudo apt-get install openssh-server。のユーザーアカウントを作成するときは hduser、パスワードを作成しておく必要があります。hduserアカウントからローカルホスト上のそれ自体へのパスワードなしのsshに設定した可能性のある空のパスフレーズと混同しないでください。
2015年

23

SSHパッケージパック全体をインストールしてみてください。

sudo apt-get install ssh

私が持っていたssh私のUbuntu上でコマンドをしかし、あなたが持っているようにエラーを得ました。完全にインストールした後、すべてが解決されました。


1
これは私にとってそれを解決しました、まさに私の状況でした(私はすでにsshdをインストールして実行していました、箱から出して)。Ubuntu19.04の場合。
ジョナサンハートリー

11

このポートが開いているかどうかを確認してください。SSHデーモンが実行されていない可能性があります。sshdが実行されているかどうかを確認します。そうでない場合は、起動します。


sudo apt-get install openssh-serverコマンドを実行しようとしましたが、hduserのパスワードを尋ね始めましたが、ユーザーのパスワードを作成していませんでした。hduserのデフォルトパスワードを知る方法
Surya

1
いいえ、インストール先のLinuxシステムのroot / sudoユーザーのパスワードを要求しています。
abhinav 2013年

[root @ localhost .ssh] #which ssh / usr / bin / ssh [root @ localhost .ssh] #which sshd / usr / sbin / sshd、sshはすでに私のマシンにインストールされています
Surya 2013年

1
次に、sshd demon /bin/etc/init.d sshd start
abhinav 2013年

sshdの再実行には絶対パスでの実行が必要です。これはパスからのメッセージです
Surya 2013年

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 2016

5

サービスを再開すると機能します

$ service sshd restart

次に確認してください

$ ssh localhost

それが動作します


5

私は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

注意してください、修正前: 'どのsshd'が何も返さず、 'どのssh'が返されました

/usr/bin/ssh

そして修正後: 'どのsshd'が返されました

/usr/sbin/sshd

4

私が使用した:

sudo service ssh start

次に:

ssh localhost

3

次のいずれかが原因である可能性があります。

  1. SSHサーバーがインストールされていません(SSHクライアントのみ)。次のことを試してください。 apt-get install ssh openssh-client openssh-server
  2. 接続がiptables(ファイアウォール)によってブロックされている場合は、次を試してください。 ufw allow ssh

デフォルトでは、opensshを有効にしてインストールした場合でも、sshはファイアウォールでブロックされます
DoctorPangloss

3

Macでは、[システム設定]-> [ネットワーク]-> [共有]に移動し、リモートログインを許可します。

sshlocalhostを試してください

あなたは良いはずです。


3

私のために働いたのは:

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

上記のすべての解決策を試しましたが、どういうわけかこのディレクトリ/ var / run / sshdがまだ見つかりませんでした。私はUbuntu16.04.4LTSを持っています。誰かが同じ問題を抱えている場合、私の答えが役立つことを願っています。


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またはRedHatを使用している場合は、最初に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


1
  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

0

を編集する必要があります/etc/hosts。例えば、私はあればhostnameあるub0が、hostname中には/etc/hostsありlocalhost、それが発生する可能性があり、

connect to host ub0 port 22: Connection refused

のでhostnameでは/etc/hostsありlocalhostません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の構成を確認する必要がありますListenAddress0.0.0.0これを更新し、問題を解決するsshdサービスを再起動します。



0

ファイル/ etc / ssh / sshd_configでポート番号を確認してください。22であることを確認してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.