Monitör veya klavye olmadan ilk kurulum


10

Daha önce benzer bir soru soruldu: Raspberry Pi'yi monitör olmadan nasıl kurabilirim?

Ancak, kabul edilen cevabın uygun bir çözüm sunmadığı göz önüne alındığında ve sorulan soruda bir belirsizlik olduğu göz önüne alındığında, orijinal sorunun yanlış yapılandırıldığını ve sorumun t tam bir kopya.

Pi'nin ilk kurulumunu ilk kez yapıyorum. Monitör veya klavyem yok, bunun yerine işi yapmak için bağlı bir dizüstü bilgisayar kullanmak istiyorum. Bir monitör veya klavye satın almak ve sadece Pi'nin ihtiyaç duyduğu durumlar için onları oturturmak istemiyorum. Onları ödünç alabilirdim, ama gelecekte daha fazla Pi satın almayı planlıyorum ve her seferinde onları ödünç almak istemiyorum.

Pi'yi cmdline.txtdosyayı düzenleyerek statik bir IP adresi belirledim . (Pi, Raspbian'ın en son sürümünü çalıştırıyor.)

ip=10.0.0.20

Ben verdik ethbenim laptop bir arayüz gelen statik IP adresi. (Dizüstü bilgisayar Ubuntu çalıştırıyor.)

ip ad add 10.0.0.10/24 dev eth0

İkisini bir ethernet kablosuyla bağladım ve Pi'yi dizüstü bilgisayarımdan başarıyla ping atabilirim.

Ne edemez yapmak olduğunu sshPi için. Bağlantı reddedildi yanıtı alıyorum :

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

Bunun ima edeceği bir şey, Pi'de sshdhenüz çalışmamasıdır.

Resmi belgeler devlet sshdvarsayılan olarak çalışır, ancak bir ilk açılış sırasında başka şeyler (kullanıcı girişi için bekleyen örn istemleri) biz noktayı ulaşmaz, yani belli bir seviyede çizme engelleyebileceği konusunda bu mümkündür sshdBaşlamak ?

Buradan nereye giderim? ("Mağaza satın almak için mağazalara değil" ...)

Gerçekten denediğim şey mümkün mü?

Düzenle:

Şimdi aşağıdaki yazının yanıtlarında belirtilen yöntemleri denedim, ancak başarılı olamadım : Ekran olmadan RPi'de SSH'yi etkinleştirme - raspi-config için tuş vuruşları?

Özellikle, SSH init betiğinin runlevel 2'de çalıştırılmasını sağlamak hala bağlanmama izin vermedi.


Pi'ye ping attığınızı ve yeni bir Raspbian çalıştırdığını varsayarsak, o zaman çalışması gerekir. Önerebileceğim tek alternatif, 8 ve 10 pinlerinde UART üzerinden giriş yapmaktır. Bu, kablolar ve 3V3 uyumlu bir USB seri dongle gerektirir.
joan

Statik adreslerin ayarlanması yalnızca sorunu zorlaştırır. Eğer bununla uğraşmadıysanız, bağlantı kurabilmelisiniz ssh pi@raspberrypi.localBize gerçekten nasıl denediğinizi söylemenin sshönemli olduğunu düşünmüyorsunuz .
Milliways

Pi'nin yapılandırmasından statik IP adresini kaldırmayı denedim ve denedim ping pi@raspberrypi.local. Ama bu çalışmıyor çünkü raspberrypi.localbilinmeyen bir ev sahibi. /etc/hostsÇözmek için dizüstü bilgisayarımda bir girişe gerek yok mu?
Richard Horrocks

SSHing'i nasıl sunacağımla ilgili daha fazla ayrıntıyı bana bildirin ve bunları memnuniyetle sağlayacağım - bir şey eksikse özür dilerim. Şimdiye kadar önerileriniz için teşekkürler :)
Richard Horrocks

1
sudo nmap 10.0.0.20Dizüstü bilgisayarda çalıştırabilirsiniz . Bağlantı noktası 22'nin açık olduğunu gösteriyorsa SSH çalışıyor, aksi halde çalışmıyor. Düzeltmeyecek, ama ne olduğunu size söyleyecek.
garethTheRed

Yanıtlar:


5

Resmi dokümanlar, sshd'nin varsayılan olarak çalıştığını belirtir

Sahip olduğum son görüntüde, 2015-11-21-raspbian-jessie- lite .img, bu doğru değil. Debian / Raspbian jessie şu anda init için systemd kullanıyor, ancak yerleşik bir tür hibrid geriye dönük SysV uyumlu mekanizma var ve bu görüntüden oluşturduğum çalışan sistemde (ilk kurulum için bir ekran ve klavye kullanarak) dikkat çekiyorum, sshd'nin artık etkin olduğu durumlarda, hem systemd hem de eski SysV rc.ddizinlerinde bir tetikleyici vardır . Muhtemelen geriye dönük uyumlu mekanizma bu şekilde çalışır (sd'yi systemd üzerinden etkinleştirdim). Her durumda, sshdPPID'si 1 olan tek bir örnek vardır.

Çalışma sistemi için, bir girdi olduğunu /etc/rc[2,3,4,5].diçin S02ssh(hizmet etkindir ve değişebilir zaman kesin öncelik numarası 02, ayarlanır). Ayrıca bir /etc/systemd/system/multi-user.target.wants/ssh.service.

Ancak temel görüntüde ...

... Giriş yok /etc/systemdve K01ssh2, 3, 4, 5 çalışma seviyeleri için bir tane var . Bu, sshd'nin çalışmadığını hemen hemen garanti edecek.

Benim önerim önce sadece SysV girişini ayarlamayı denemek. Gönderen etcSD kart üzerinde ikinci bölümünün dizinine:

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

Bağlantıların orada olduğundan ve doğru yere işaret ettiklerinden emin olun stat. Bunun yeterli olması gerektiğine inanıyorum ve şimdi sistemi yeniden başlatmayı deneyebilirsiniz. Öyleyse, bu bağlantıları kaldırdıktan ve çalıştırdıktan systemctl enable sshsonra, bağlantıların yeniden oluşturulduğunu kontrol edin (unutmayın, öncelik farklı olabilir).

Hala alırsanız bir bağlantı oluşturmak, "Bağlantı reddedildi" [SD_rootfs]/lib/systemd/system/ssh.serviceiçin [SD_rootfs]/etc/systemd/default.target.wants/ssh.serviceve tekrar deneyin.


Çok ayrıntılı talimatlar için teşekkürler. Ben fark etmişti K01sshiçinde rc2.ddizine alıp adını, ancak diğer başkalarını fark etmeseydi rcdizinleri. Ne yazık ki betiğinizi kullananları kaldırmak yardımcı olmadı. (İstediğiniz gibi oluşturulduklarını kontrol ettim.) İkinci yöntem için, dizinde bir ssh.servicegirişim yok etc/systemd/system/multi-user.target.wants/ve lib/systemd/system/dizine erişilemiyor. Sistem bir dizin olduğunu bile söyleyemez (ve çalışan filebana şunu verir: ERROR: cannot open lib / systemd / system '(Giriş / çıkış hatası) `).
Richard Horrocks

Lite görüntüsünü değil, sizinle aynı tarihte tam yağlı görüntüyü kullandığımı unutmayın.
Richard Horrocks

Kartta yukarıda belirtilen init dizinlerine bir göz atın. Ssh'ın etkin olup olmadığını söyleyebilmeniz gerekir. Eğer öyleyse, IP + ssh çalışmasını düzeltin! = "Bağlantı reddedildi", bu yüzden bir yerde bir şeyler ters gitti ve teşhis etmek için bir ekran ve klavye bulmanız gerekecek. Alternatif olarak (veya aynı zamanda), hangi paketlerin ileri geri gittiğini görmek için wireshark gibi bir şey kullanabilirsiniz ; bu kesinlikle ağda neler olduğunu kanıtlar.
goldilocks

Tamam, Wireshark'la bir dürtme yaptı ama hiçbir yere varamadı. Sonra bir Lite görüntüsü yakmaya ve denemeye karar verdi. systemdBahsettiğiniz dosyaların mevcut olduğunu fark ettim , bu yüzden işe yarayan ikinci önerinizi denedim :) Görüntüler arasında neden farklı olduklarından emin değilim, ancak ilk görüntüdeki bir şeyi etkileyen bu bilgisayar korsanlığı olabilirdi. (Ne olduğu hakkında hiçbir fikrim yok ...) Yardımınız için çok teşekkürler.
Richard Horrocks

Tamlık uğruna, farklı bir SD karta yakılmış taze tam yağlı Jessie görüntüsü ile tekrar denedim, ancak yine lib/systemd/system/dizine erişilemedi. Aynı şey Hışıltılı bir görüntü için de geçerli. Yalnızca Lite görüntüsü dizine erişmeme ve bu nedenle talimatları tamamlamama izin verdi.
Richard Horrocks

11

Daha yeni Raspbian görüntüleri ile buna karışanlar için: sshwitchkontrol eden bir sistemd hedefi vardır /boot/sshve bu dosya varsa, SSH ana bilgisayar anahtarlarını yeniden oluşturur ve SSH sunucusunu etkinleştirir.

Bu nedenle, SSH'yi etkinleştirmek sshiçin, önyükleme bölümünün köküne ( bootcode.bindosya ile FAT olanı ) adlı bir dosya ekleyin ve Pi'nizi önyükleyin!

Düzenleme: Bu benim 2017-01-11-raspbian-jessie-lite resmim üzerinde çalıştı.


Bu iyi çalışıyor. Kullanışlı bir klavyeniz varsa, şunu yazın: pi <enter> ahududu <enter> sudo touch / boot / ssh <enter> sudo reboot <enter> sonra cihaz bir ip alırken yönlendiricinizi izleyin, sonra ssh pi @ <thatip> ve bir hacker gibi hissedeceksiniz.
nurettin

1

Bunun bir cevap olduğu için özür dilerim ama sadece yorum yapmak için yeterli kredi değil

Ssh servisi var mı? Mümkünse ve ahududu kurulum görüntülerinden biriyse, ssh'yi etkinleştirmek için raspi-config'i deneyin.

Başka bir yol, ssh'ın yüklü ve etkin olup olmadığını kontrol edin

sudo service --status-all|grep ssh

Belki ssh port 22 hizmet hazır olmadığından bağlantıyı reddediyor


1
Raspbian'ın mevcut sürümlerinde muhtemelen kullanmak istersiniz systemctl --list-units | grep ssh(ya da daha iyisi daha bilgilendirici systemctl status ssh). Ama aslında haklısınız, "Bağlantı reddedildi" bağlantı noktasında hiçbir şey dinlemiyor demektir. Ssh çalışıyorsa, IP yanlıştır.
goldilocks

2
Cevap için teşekkürler. Önerinizle ilgili sorun, komutu çalıştırmak için bir yolum yok, çünkü Pi'yi çalıştırmak için erişemiyorum. Tavuk ve yumurta. :( IP adresinin doğru olduğunu biliyorum çünkü ping atabiliyorum (ve ağdaki başka hiçbir şeyin aynı adrese sahip olmadığını biliyorum)
Richard Horrocks

1

https://www.raspberrypi.org/blog/a-security-update-for-raspbian-pixel/ Rasbian PIXEL sürüm işletim sistemi için bu bağlantı.


Bu soruya hiçbir şekilde cevap vermiyor gibi görünüyor.
Jacobm001

Yararlı bilgiler sadece bağlantıda olmasına rağmen (olması gereken yerdeki cevap yanıtı yerine), bu en azından resmi raspberrypi.org belgeleri ve "Ne değişti?" bağlantılı sayfada gerekli değişikliklere neden olan güvenlik sorunlarını ayrıntılı olarak açıklar (varsayılan olarak ssh'yi devre dışı bırakmak) ve /boot/sshdüzeltmeyi ayrıntılandırır .
Roberto Tyley

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.