モニターまたはキーボードなしの初期設定


10

同様の質問が以前に尋ねられました:モニターなしでRaspberry Piをセットアップする方法?

ただし、受け入れられた回答が適切な解決策を提供していないようであり、質問の内容にある程度のあいまいさが存在することを考えると、元の質問は間違って構成されていて、私の質問は間違っていると想定しています完全に重複しています。

Piの初期の初回セットアップを実行しています。モニターもキーボードもありませんが、代わりに接続されたラップトップを使用して仕事をしたいと考えています。モニターやキーボードを購入したくないので、Piが必要とするときのためだけに座ってもらいます。借りることもできましたが、今後はさらにパイを購入する予定で、毎回借りたくありません。

cmdline.txtファイルを編集して、Piに静的IPアドレスを設定しました。(PiはRaspbianの最新バージョンを実行しています。)

ip=10.0.0.20

ethラップトップのインターフェイスに対応する静的IPアドレスを指定しました。(ラップトップはUbuntuを実行しています。)

ip ad add 10.0.0.10/24 dev eth0

2つをイーサネットケーブルで接続しましたが、ラップトップからPiに正常にpingできます。

私にはできないのsshパイです。私は取得しています接続を拒否した応答を:

richard@richard-ThinkPad-X220:~$ ssh -vvv pi@10.0.0.20
OpenSSH_6.6.1, OpenSSL 1.0.1f 6 Jan 2014
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug2: ssh_connect: needpriv 0
debug1: Connecting to 10.0.0.20 [10.0.0.20] port 22.
debug1: connect to address 10.0.0.20 port 22: Connection refused
ssh: connect to host 10.0.0.20 port 22: Connection refused

これが意味することの1つsshdは、Piでまだ実行されていないことです。

公式ドキュメントのその状態sshdデフォルトで実行されますが、しかし、最初の起動時に他のもの(ユーザー入力を待っているなどのプロンプトが)私たちはその時点で到達しないという意味、一定のレベルでブートをブロックするかもしれないということも可能であるsshdであるが開始し?

ここからどこへ行くのですか?(「モニターを買うために店に」ではありません...)

私がしようとしていることは実際に可能ですか?

編集:

私は次の投稿への回答で述べられている方法を試しましたが、成功しませんでした:画面なしでRPiでSSHを有効にする-raspi-configのキーストローク?

具体的には、SSH initスクリプトがランレベル2で実行されていることを確認しても、接続できませんでした。


Piにpingを実行し、最新のRaspbianを実行していると仮定すると、動作するはずです。私が提案できる唯一の代替案は、ピン8と10のUART経由でログインすることです。これには、ワイヤと3V3互換のUSBシリアルドングルが必要です。
ジョーン2016年

静的アドレスの設定は問題を複雑にするだけです。あなたがそれをいじっていなかった場合、あなたは接続するssh pi@raspberrypi.localことができるはずですssh
Milliways 2016年

私はPiの設定から静的IPアドレスを削除してみましたping pi@raspberrypi.localraspberrypi.localが不明なホストであるため、これは機能しません。それ/etc/hostsを解決するために私のラップトップにエントリが必要ではないでしょうか?
Richard Horrocks、2016年

私がSSHでどのように供給しているかについての詳細を教えてください。何か足りない場合はお詫び申し上げます。これまでの提案をありがとう:)
Richard Horrocks 2016年

1
sudo nmap 10.0.0.20ラップトップで実行できます。ポート22が開いていると表示されている場合はSSHが実行されています。それ以外の場合は実行されていません。それは修正されませんが、何が起こっているかを教えてくれます。
garethTheRed 2016年

回答:


5

公式ドキュメントには、sshdがデフォルトで実行されると記載されています

私が持っている最新の画像2015-11-21-raspbian-jessie- lite .imgでは、これは正しくありません。現在、Debian / Raspbian jessieはinitにsystemdを使用していますが、一種のハイブリッド後方SysV互換メカニズムが組み込まれており、このイメージから作成した実行中のシステムに気づきました(初期セットアップに画面とキーボードを使用)。 sshdが有効になっている場合、systemd ディレクトリと古いSysV ディレクトリの両方にトリガーがありrc.dます。おそらくこれが下位互換性メカニズムの仕組みです(私はsystemd経由でsshを有効にしました)。いずれの場合もsshd、PPIDが1のインスタンスは1つしか実行されていません。

作動システムの場合、内のエントリが存在する/etc/rc[2,3,4,5].dためには、S02ssh(サービスが有効になり、変化することができる場合、正確な優先順位番号02は、設定されています)。もあり/etc/systemd/system/multi-user.target.wants/ssh.serviceます。

ただし、ベースイメージでは...

...にはエントリがなく、ランレベル2、3、4、5 /etc/systemdK01sshfor があります。これにより、sshdが実行されていないことがほぼ保証されます。

私の提案は、最初にSysVエントリだけを設定することです。etcSDカードの2番目のパーティションのディレクトリから:

for i in 2 3 4 5; do \
ln -s ../init.d/ssh rc$i.d/S02ssh; \
rm rc$i.d/K01ssh \
done

リンクがそこにあり、で正しい場所を指していることを確認してくださいstat。これで十分だと思います。これでシステムの起動を試すことができます。その場合は、それらのリンクを削除してを実行systemctl enable sshした後、リンクが再作成されていることを確認してください(優先順位は異なる場合があります)。

それでも「接続が拒否されました」というメッセージが表示さ[SD_rootfs]/lib/systemd/system/ssh.serviceれる場合は[SD_rootfs]/etc/systemd/default.target.wants/ssh.service、からへのリンクを作成して、再試行してください。


非常に詳細な指示をありがとう。私K01sshrc2.dディレクトリで気づき、名前を変更しましたが、他のrcディレクトリで他のものを見つけていませんでした。スクリプトを使用してそれらを削除しても、残念ながら役に立ちませんでした。(あなたが提案したように、それらが作成されたことを確認しました。)2番目の方法でssh.serviceは、etc/systemd/system/multi-user.target.wants/ディレクトリにエントリlib/systemd/system/がなく、ディレクトリにアクセスできません。システムはそれがディレクトリであることさえわかりfileません(そして実行するとERROR: cannot open lib / systemd / system '(入出力エラー) `)。
Richard Horrocks、2016年

私はLiteイメージではなく、あなたと同じ日付の全脂肪イメージを使用していることに注意してください。
Richard Horrocks、2016年

カードの上記のinitディレクトリをご覧ください。sshが有効になっているかどうかを確認できるはずです。正しい場合は、正しいIP + sshが!= "接続が拒否されました"を実行しているため、どこかで問題が発生しているため、診断するための画面とキーボードを見つける必要があります。代わりに(または同様に)、wiresharkのようなものを使用して、どのパケットが送受信されているかを確認することもできます。これは、ネットワークで何が起こっているかを明確に証明します。
ゴルディロックス

さて、Wiresharkを試してみましたが、どこにも行きませんでした。次に、Liteイメージを書き込み、それを試すことにしました。systemdあなたが言及したファイルが存在することに気付いたので、2番目の提案を試みましたが、うまくいきました:)画像間で何が違うのか不明ですが、最初の画像の何かに影響を与えたのは私のハッキングであった可能性があります。(何なのかわからない…)ご協力ありがとうございます。
Richard Horrocks、2016年

完全を期すために、別のSDカードに焼き付けた新鮮な全脂肪のJessieイメージでもう一度試しましたが、やはり、lib/systemd/system/ディレクトリにアクセスできませんでした。同じことがWheezy画像にも当てはまります。Liteイメージのみがディレクトリへのアクセスを許可したため、指示を完了しました。
Richard Horrocks、2016年

11

新しいRaspbianイメージでこれを実行している人のsshwitchため/boot/sshに、をチェックするsystemdターゲットがあり、そのファイルが存在する場合、SSHホストキーを再生成してSSHサーバーを有効にします。

したがって、SSHを有効にするにsshは、ブートパーティションのルートに呼び出されるファイル(FAT bootcode.binファイルとそのファイル)を追加し、Piを起動します。

編集:これは私の2017-01-11-raspbian-jessie-liteイメージで機能しました。


これはうまくいきます。キーボードが手元にある場合は、次のように入力します。pi<enter> raspberry <enter> sudo touch / boot / ssh <enter> sudo reboot <enter>次に、デバイスがipを取得するようにルーターを監視し、ssh pi @ <thatip>およびあなたはハッカーのように感じるでしょう。
ヌレティン

1

これが答えであって申し訳ありませんが、コメントするだけのクレジットではありません。

sshサービスは稼働していますか?可能で、それがラズベリーのインストールイメージの1つである場合は、spiを有効にするためだけにraspi-configを試してください。

別の方法として、sshが読み込まれて有効になっているかどうかを確認する

sudo service --status-all|grep ssh

サービスの準備ができていないため、SSHポート22が接続を拒否している可能性があります


1
raspbianの現在のバージョンでは、おそらく使用する必要がありますsystemctl --list-units | grep ssh(または、より有益な情報を提供しますsystemctl status ssh)。ただし、本質的には正しいです。「接続が拒否されました」とは、ポートで何も待機していないことを意味します。sshが実行されている場合は、IPが間違っています。
ゴルディロックス

2
答えてくれてありがとう。あなたの提案の問題は、コマンドを実行するためのPiにアクセスできないため、コマンドを実行する方法がないことです。鶏肉と卵。:(私はそれをpingできるので、IPアドレスが正しいことを知っています(そして、ネットワーク上の他に同じアドレスがないことを知っています)
Richard Horrocks

1

https://www.raspberrypi.org/blog/a-security-update-for-raspbian-pixel/このリンクは、Rasbian PIXELバージョンのオペレーティングシステム用です。


これは実際にはどのような質問にも答えていないようです。
Jacobm001

有用な情報はリンク内にありますが(回答応答ではなく、本来あるべき場所です)、これは少なくとも公式のraspberrypi.orgのドキュメントであり、セクション「何が変更されたのですか?」リンクされたページで、必要な変更を引き起こしたセキュリティの問題(つまり、デフォルトでsshを無効にする)の詳細と/boot/ssh修正の詳細を説明しています。
Roberto Tyley 2017年

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