web-dev-qa-db-ja.com

ヘッドレスRaspbianStretch LiteへのSSHアクセスを取得するにはどうすればよいですか?公式の方法はうまくいかないようです

ファイルをブートフォルダに入れてもsshを有効にできませんでした。はい、ファイルはWindows 7マシンから拡張子なしで作成され、ブート後に削除されます。

これは起こったはずのことです:

ヘッドレスセットアップの場合、SSHは、拡張子なしのsshという名前のファイルを、別のコンピューターからSDカードのブートパーティションに配置することで有効にできます。 Piが起動すると、sshファイルが検索されます。見つかった場合、SSHが有効になり、ファイルが削除されます。ファイルの内容は重要ではありません。テキストが含まれる場合もあれば、まったく含まれない場合もあります。

ソース

イーサネットに接続するとRespberryPi 3に割り当てられたIPを取得でき、0%の損失でpingを実行できるため、キーボードとモニターを使用したくありません。

答えを探した後、sshが有効になっていないことがわかりました。これが、PuTTYがすべての試行で接続拒否を返す理由です。

ブートフォルダにcmdline.txtがあることがわかりました。これは、すべてのブートで実行されるものですか? sshを有効にするために使用できますか?はいの場合、それを行う方法は?

詳細はこちらです。他に何か必要な場合はお知らせください。

  • 私のシステム:Windows 7 Update 1
  • ラズベリーモデル:ラズベリーパイ3 B
  • Raspberry OS:Raspbian Stretch Lite
  • モニター:いいえ
  • キーボード:いいえ
  • Ping要求:パケット損失なしで応答しました
  • 接続タイプ:イーサネット
  • SSH:有効になっていません(方法は?)

[〜#〜] edit [〜#〜]:これで、Paragon ExtFS forWindowsを使用してWindows7マシンに「rootfs」をマウントできるようになりました。 、しかしsshを有効にする方法はまだわかりませんが、助けていただければ幸いです

1
Vinod Srivastav

最後に、sshを有効にする別の方法を見つけることができました。ここで要約しようと思います。 PiBakeryも試しましたが、nodejsで重すぎて、試行するたびにクラッシュし続けます。


問題:Ext4形式がウィンドウから読み取れません

したがって、img書き込みツールを使用してRaspbianを書き込むと、2つのパーティションBootrootfsが作成されます。 bootパーティションはFATでフォーマットされており、Windowsにのみ表示されますが、rootfsExt4と一緒であり、まったく表示されません(you MiniToolパーティションパーティションウィザードで表示して確認できます


ミッション:Windowsから構成を編集して、sshを強制的に有効にします

私の使命は、公式の指示では機能していなかったため、sshを強制的に有効にすることでした(ブートパーティションにsshファイルを配置する)。そこで、 Paragon ExtFS for Windows をダウンロードしました。これにより、Windows7は新しいドライブとしてマウントすることでExt4partition内のファイルを参照/編集できます。

その前に私もExt2Fsd-0.69を試しましたが、Windows 7や他のext2explore-2.2とは互換性がありませんでした。 71はファイルを表示することしかできず、編集することはできません。何もうまくいきませんでした


ハック:Windows7から/etc/rc.localファイルを編集する

ほぼ一日中グーグルした後、私は2つのことを知るようになりました

  1. コマンドは、rootfsパーティション内のファイル/etc/rc.localを編集することで実行できます。
  2. sshを開始するコマンドは/etc/init.d/ssh startです

そこで、次のように、rc.localの直前に/etc/init.d/ssh startを配置して、exit 0ファイルを編集し、起動するたびに実行されるようにしました。

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
fi

/etc/init.d/ssh start
exit 0

そしてそれはうまくいきました!!私はそれがきちんとした方法ではないことを知っていますが、それは困っている人にとって役立つことがあります。彼の親切な助けと編集に対して@ KamilMaciorowskiに感謝しなければなりません。

raspbian with ssh

それが原因で発生する可能性のある問題を見つけた場合は、以下にコメントしてください。

1
Vinod Srivastav

私も同様の問題を抱えていました。最初のRaspberryPiを接続した後、再イメージングしていたRaspberry Piがいくつかありましたが、正しく設定するのを忘れていました。次に、すべてのSDカードに変更を加えました。最初のRaspberryPiは機能しませんでしたが、他のすべてのものは機能しました。 SDカードのイメージを再作成し、sshファイルを挿入する必要がありましたが、それでうまくいきました。

最初の起動の前にsshファイルを作成する必要があります。 SDカードを一度起動し、カスタマイズされていない場合、期待どおりに機能しません。

  • SDカードの画像
  • 必要な変更を加える
  • 次に、最初の起動
1
AggieBill

公式の方法は、Raspbianの新しいコピーを初めて起動したときにのみ機能するため、Raspbianの新しいコピーを使用していなかったようです。その後、カードをもう一度画像化する必要があります。

Windows10でのヘッドレスRaspbianセットアップ

  1. 標準的な方法 を使用して、SDカード上のRaspbianの新しいコピーから始めます。すでにRaspberryPiでカードを使用している場合は、最初から始める必要があります。終了したら、「boot」というラベルの付いた外部デバイスを探します。これは、RaspberryPiブートパーティションです。
  2. ファイルエクスプローラーにブートパーティションが表示されない場合は、ドライブ文字を割り当てる必要がある場合があります。 Windows 10でこれを行う1つの方法は、[スタート]メニューを右クリックし、[ディスクの管理]をクリックすることです。これにより、コンピューター上のすべてのパーティションが表示されます。 「boot」というラベルの付いたものを見つけます。パーティションを右クリックし、[ドライブ文字とパスの変更...]をクリックします。次のダイアログボックスで[追加...]をクリックして、デフォルトを受け入れます(または未使用の文字に変更します)。これらの変更を受け入れると、ファイルエクスプローラーでブートパーティションが表示され、他の手順を続行できるようになります。
  3. オプション:説明されているようにWiFiネットワーク設定でブートパーティションにwpa_supplicant.confというプレーンテキストファイルを作成して、WiFiネットワークに接続するようにRaspberryPiを設定します ここ 。以下の例では、YourNetworkSSIDYour Network's Passphraseを置き換えます。

    country=US
    ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
    update_config=1
    
    network={
      ssid="YourNetworkSSID"
      psk="Your Network's Passphrase"
      key_mgmt=WPA-PSK
    }
    
  4. オプション:ファイル拡張子のないブートパーティションにsshというファイルを作成して、SSHサーバーを有効にします。これを行うには、ブートパーティション内を右クリックし、[新規]、[テキストドキュメント]の順に選択します。 ctrl-aを使用してファイル名全体(.txtを含む)を選択し、名前をsshに変更します。 Windowsは、ファイルを使用できなくしている可能性があることを警告します。大丈夫。
  5. Raspberry Pi Zeroの場合のみオプション:Raspberry Pi ZeroをUSBイーサネットガジェットとしてセットアップし、マイクロUSBポートをコンピューターのUSBポートに接続して、説明どおりに直接接続できるようにします- ここ 。ブートパーティションでconfig.txtというファイルを見つけ、メモ帳(または別のエディター)で編集します。ファイルの最後の行にdtoverlay=dwc2を置き、ファイルを保存して閉じます。 cmdline.txtというファイルをブートパーティションにファイルし、メモ帳(または別のエディター)で編集します。そのファイルで「rootwait」という単語を見つけ、その直後にmodules-load=dwc2,g_etherを続けて別のスペースを入れます。そのファイルには、テキストを含む1行だけが含まれている必要があります。新しい行を壊さないでください。
  6. AppleのBonjourPrint ServicesをWindowsマシンにインストールすると、RaspberryPiのIPアドレスをオンにした後で簡単に判別できる場合があります。あなたはそれを見つけることができます ここ またはリンクが死んだらそれをグーグルで検索してください。
  7. コンピューターからSDカードを取り出し、RaspberryPiに挿入します。上記の手順5に従った場合は、RaspberryPiをコンピューターのUSBポートに直接接続できます。手順4と6を実行した場合は、AppleのBonjour PrintServicesによって割り当てられたアドレスraspberrypi.localにSSH接続できるはずです。それ以外の場合は、通常どおりに電源を入れ、イーサネットまたはWiFi経由で接続するか、計画していた方法で接続します。

楽しい!

0
FlippingBinary