SSHが機能しない


10

私は私のpiにsshすることができません。RPIはホストPCに直接接続されています。

ホストのIPアドレスを設定しました:----

sudo ifconfig eth0 192.168.0.204 netmask 255.255.255.0 up
sudo route add default gw 192.168.0.200

Piのネットワークインターフェースファイルには次のデフォルトIPがあります。

auto lo eth0
iface lo inet loopback
iface eth0 inet static
    address 192.168.0.202
    netmask 255.255.255.0
    gateway 192.168.0.200

私のPCで構成コマンドの場合:-----

ignite@ignite-desktop:~$ ifconfig
eth0      Link encap:Ethernet  HWaddr 6c:f0:49:f3:a6:1b  
          inet addr:192.168.0.204  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::6ef0:49ff:fef3:a61b/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:681 errors:0 dropped:0 overruns:0 frame:0
          TX packets:208 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:43752 (43.7 KB)  TX bytes:33407 (33.4 KB)
          Interrupt:26 Base address:0x4000 

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:12 errors:0 dropped:0 overruns:0 frame:0
          TX packets:12 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1012 (1.0 KB)  TX bytes:1012 (1.0 KB)

pingは同じホストで機能しています:----

ignite@ignite-desktop:~$ ping 192.168.0.204
PING 192.168.0.204 (192.168.0.204) 56(84) bytes of data.
64 bytes from 192.168.0.204: icmp_seq=1 ttl=64 time=0.026 ms
64 bytes from 192.168.0.204: icmp_seq=2 ttl=64 time=0.018 ms
64 bytes from 192.168.0.204: icmp_seq=3 ttl=64 time=0.017 ms
64 bytes from 192.168.0.204: icmp_seq=4 ttl=64 time=0.014 ms

Pingは私のホストPCからpiのために働いています:----

ignite@ignite-desktop:~$ ping 192.168.0.202
PING 192.168.0.202 (192.168.0.202) 56(84) bytes of data.
64 bytes from 192.168.0.202: icmp_seq=1 ttl=64 time=0.530 ms
64 bytes from 192.168.0.202: icmp_seq=2 ttl=64 time=0.508 ms
64 bytes from 192.168.0.202: icmp_seq=3 ttl=64 time=0.464 ms
64 bytes from 192.168.0.202: icmp_seq=4 ttl=64 time=0.445 ms
64 bytes from 192.168.0.202: icmp_seq=5 ttl=64 time=0.434 ms

SSHが機能しない

ignite@ignite-desktop:~$ ssh pi@raspberrypi
ssh: Could not resolve hostname raspberrypi: Name or service not known

ignite@ignite-desktop:~$ ssh pi@192.168.0.202
Read from socket failed: Connection reset by peer

ignite@ignite-desktop:~$ ssh 192.168.0.202 -l pi
Read from socket failed: Connection reset by peer

それを解決する方法を提案してください?

編集:---
ssh -vvv pi@192.168.0.202 --->出力は

ignite@ignite-desktop:~$ ssh -vvv pi@192.168.0.202
OpenSSH_5.1p1 Debian-6ubuntu2, OpenSSL 0.9.8g 19 Oct 2007
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 192.168.0.202 [192.168.0.202] port 22.
debug1: Connection established.
debug1: identity file /home/ignite/.ssh/identity type -1
debug1: identity file /home/ignite/.ssh/id_rsa type -1
debug1: identity file /home/ignite/.ssh/id_dsa type -1
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.0p1 Debian-2
debug1: match: OpenSSH_6.0p1 Debian-2 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.1p1 Debian-6ubuntu2
debug2: fd 3 setting O_NONBLOCK
debug1: SSH2_MSG_KEXINIT sent
Read from socket failed: Connection reset by peer

1
sshデーモンが実行されていることを確認しましたか?
codey、

実際には、HDMI画面がなく、リモートデスクトップコンピューターを使用して、sshを使用してpiにログオンしていました。どうすれば確認できますか?
アラン

ps aux | grep sshd
codey

sshdが実行されている場合、出力にはsshdプロセスが表示されます。もちろん、先ほど実行した「grep sshd」以外にも。
コーディ

回答:


5

新しくインストールされたraspbianでも同じ問題があり、サーバー側のsshホストキーに問題がありました。

これらのキーは、各デバイスに異なるsshキーが必要であり、初回起動時にこれらのキーが自動的に生成されるため、イメージでは生成されません。

私の問題は、おそらくこれらのキーを生成しているときに、電源を切断したときに、サイズがゼロであったことでした。

解決策は、sshサーバー側のホスト鍵を再生成することです。

rm /etc/ssh/ssh_host_*
dpkg-reconfigure openssh-server

https://wiki.debian.org/SSH#Regenerating_host_keys


2
最初にログインできない場合、sshサーバー側のホスト鍵(dpkg-reconfigure openssh-server)を再生成するにはどうすればよいですか?
HayriUğurKoltuk

まさに@HayriUğurKoltuk私はMacを使っていますが、どうすればそれができますか?
クリアライト2018

4

問題の原因と修正

特別なプログラムがないと、ホスト名を使用してPiにSSH接続することはできません。LANネットワークの場合は、ホストにpingを実行します。IPを取得したら、それを書き留めます。次に、ターミナルに書き込みます:

ssh pi@this_is_the_ip

ログインできるはずです。

ホームネットワークの外部からPiにアクセスする場合は、ルーターをポート転送する必要があります。実際、これを行う方法についてのスタック交換の質問があります

Piに適切な名前を使用したい場合、ネットワーク内でもネットワーク内でも機能するオプションが1つあります

DNSDynamic

このソフトウェアを使用すると、piのドメイン名を設定できます。

  1. 行く彼らのウェブサイトとドメイン名とアカウントを設定。

  2. ddclientPiにインストールします。

    sudo apt-get install ddclient 
    

    次に、構成設定を編集します。

    sudo nano /etc/ddclient.conf
    

    最後に、ファイルを次のように変更します。

# /etc/ddclient.conf

daemon=600

timeout=10

ssl=yes

protocol=dyndns2

use=web, web=myip.dnsdynamic.com #Enter your URL here

server=www.dnsdynamic.org

login=x@gmail.com  #userid for dnsdynamic.com

password='xxxx'      #password for the same put inside quotes

x.dnsdynamic.com  #the domain name you created

コンピュータがウェイクアップするたびにこれを自動起動する場合は、ターミナルに次のように入力します。

sudo nano /etc/rc.local

前に次のコマンドを追加しますexit 0(これは最後の行です)

sudo /usr/sbin/ddclient -daemon 600 -syslog

最後に、まだポートフォワードする必要があります。

うまくいけば、これは役に立ちます。下のコメント欄で質問してください。


実際、最新のopensslをコンパイルして、ターゲットのRPiにインストールしました。sshが機能しなくなったsshはopensslに依存していますか?
アラン

SSH(セキュアソケットレイヤー)は、SSHの実行に必要ありません。この設定では実際に問題がある可能性があります。ただし、ホスト名の代わりにPiのローカルIPを使用してみてください。
xxmbabanexx 2013

私は-----> ssh -vvv pi@192.168.0.202 --->のo / pを投稿しました
Allan

私は自分のホストとターゲットでキーを再生成しました...〜/ .sshから既知のホストファイルを削除しました...機能しました...
Allan

--- shh_config以外---の/ etc / sshの---->>このリンクあたりのように変更されたSSHの設定--->:からすべてのファイルを削除しblog.harshadura.net/2012/01/...
アラン

0

この質問に対する私の答えをご覧いただけます。

SSH用のRaspberry PiのIPアドレスを取得する方法

私がそこに言及しなかったもう1つの可能性は、ドメイン(非常に安い)を購入してDNSで遊ぶことです。私はaasgard.info0.99セントでドメインを購入ygdrasill.aasgard.infoし、内部アドレス(192.168.1.141この場合)に名前を割り当てました。次に、デフォルトのドメインを購入したドメイン名として設定する必要があります。

私は、ドメインをセットアップするためにすべての時間を費やした後、/ etc / hostsファイルまたはavahiを使用する方がはるかに簡単であることに気づきました。


0

Raspberry PiでSSHサーバーを起動しましたか?pingできるからといって、SSHサーバーが実行されているわけではありません。sshd軽いSSHサーバーを試してください。


0

SSHを有効にする

2016年11月のリリース以降、RaspbianではSSHサーバーがデフォルトで無効になっています。

ターミナルから手動で有効にできます:

sudo raspi-config
Select Interfacing Options
Navigate to and select SSH
Choose Yes
Select Ok
Choose Finish

または

Launch Raspberry Pi Configuration from the Preferences menu
Navigate to the Interfaces tab
Select Enabled next to SSH
Click OK

または、systemctlを使用してサービスを開始します

sudo systemctl enable ssh
sudo systemctl start ssh

-1

SSH接続は、最新のラズベリーpiではデフォルトで無効になっています。2016年11月以降にリリースされるRPi。

手順は次のとおりです。1)raspbianイメージをSDカードに書き込みます。2)拡張子なしのsshファイルを作成します。3)そのsshファイルを、イメージが書き込まれているSDカードにコピーします。4)最後に、ラズベリーpiをSSHで接続できるようになります。

詳細については、このビデオをご覧ください。https//www.youtube.com/watch?v = zKT6bTESlLs


2
ラズベリーパイへようこそ!てくださいツアーをし、訪問ヘルプセンターのが、物事はここで働いてどのように見て。この質問は2013年からのものであることに注意してください。当時、あなたが説明する問題はまったく問題ではありませんでした...
ガニマ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.