İçindekiler:
2025 Yazar: John Day | [email protected]. Son düzenleme: 2025-01-13 06:58
Bu talimatın amacı, size Raspberry Pi'nizden uzak bir bulut sunucusuna (ve tersi) otomatik ve güvenli bir şekilde nasıl bağlanacağınızı göstermektir. parolaları hatırlama ihtiyacını ortadan kaldırır ve size daha güvenli bir bağlantı sağlar.
(CAVEAT - Linux izinlerini yapılandırma konusunda yetkin değilseniz bunu denemeyin, aksi takdirde sistemlerinizi bilgisayar korsanlarının saldırılarına karşı daha savunmasız hale getirirsiniz.)
Gereksinimler
1. Raspberry Pi, Putty'de göreceğiniz gibi bir komut satırı arayüzü (CLI) ile.
2. Bir CLI ile OVH veya DigitalOcean tarafından barındırılan uzak bir bulut sunucusuna erişim.
3. Putty ve PuttyGen'in kurulu olduğu bir Windows dizüstü veya PC.
varsayımlar
1. Linux komutları hakkında biraz bilginiz var
2. Uzak sunucunuza geleneksel manuel işlemleri kullanarak erişebilirsiniz, örn. FTP.
3. PuttyGen'i Windows PC'nize önceden yüklemiş olacaksınız
adımlar
Özetle, - Bkz. Şekil 1
a) Windows PC'nizde PuttyGen kullanarak bir Özel PPK dosyası oluşturun
b) Windows PC'nizde PuttyGen'i kullanarak genel bir PPK dosyası oluşturun (bu, adım a'da otomatik olarak yapılır)
b) Windows PC'nizde, Genel Anahtarı Windows PC'nizden uzak bulut sunucusuna kopyalayın
d) Windows PC'nizde, Özel PPK dosyasını PuttyGen kullanarak bir OpenSSH anahtarına dönüştürün
e) OpenSSH anahtarını Windows PC'nizden Raspberry Pi'ye kopyalayın
f) Raspberry Pi'den Uzak sunucunuza erişimi ve dosya aktarımını test edin
Adım 1: A) Özel bir PPK Dosyası Oluşturun, B) Bir Ortak Anahtar Oluşturun ve C) Bunu Uzak Sunucuya Kopyalayın
Özel bir PPK dosyası oluşturmak için Windows PC'nizde PuttyGen'i açın. PuttyGen'e Windows görev çubuğundaki macun simgesine sağ tıklayarak erişebilirsiniz. PuttyGen menüsünden, anahtarı seçin ve ardından bir anahtar çifti oluşturun, SSH2 -RSA anahtarı seçeneğini seçin. Özel anahtarı oluşturduğunuzda sizden bir parola belirlemeniz istenecek ve bir parola belirlerseniz, gelecekteki işlemler sırasında sizden bu parola istenecektir. Özel anahtarı Windows PC'nizde güvenli bir yere kaydedin. Ardından, Şekil 2'de gösterildiği gibi pencere bölmesinde ortak anahtarı göreceksiniz.
Ardından, ortak anahtarı uzak bulut sunucusuna aktaralım. Putty kullanarak uzak bulut sunucusuna bir Putty oturumu açın. Remoteuser1 olarak oturum açtığınızı varsayalım, ardından uzak bulut sunucusu CLI'sinde aşağıdakileri yapın
cd /home/remoteuser1 (zaten yoksa) mkdir.ssh
nano.ssh/authorized_keys (Boş bir ekran göreceksiniz - şekil 2'de gösterilen genel anahtarı yapıştırın ve ardından bu dosyayı kaydedin ve kapatın)
chmod 0700.ssh
chmod 0600 /home/remoteuser1/.ssh/yetkili_anahtarlar
Adım 2: D) Özel PPK Dosyasını OpenSSH Anahtarına Dönüştürün ve E) Raspberry Pi'ye Kopyalayın
Özel anahtarı OpenSSH'ye dönüştürmek için PuttyGen'i açın ve daha önce oluşturduğunuz özel anahtarı açın - menüdeki Dönüşümler seçeneğine gidin ve ardından OpenSSH anahtarını Dışa Aktar'ı seçin - lütfen oluşturduğunuz dosyanın.key dosya tipine sahip olduğundan emin olun. Güvenli bir yere kaydedin ve ardından Raspberry Pi'nize giriş yapmak için bir macun oturumu açın. Anahtar dosyasını Raspberry Pi'de oturum açmak için kullandığınız kullanıcı hesabının Raspberry Pi'sindeki ana dizine kopyalayın. Anahtarın pitobot.key olduğunu söyleyin ve ardından şu adımları izleyin:
cd /ev/pi
sudo mv pitobot.key /home/pi/
sudo chmod 600 pitobot.key
Artık kurulumunuzun başarılı olup olmadığını test etmeye hazırsınız - Yine, bu Pi'den yapılır. Remoteuser1'in ortak anahtarı ana dizinine kaydettiğiniz uzak bulut sunucusundaki hesap olduğunu ve ipaddress'in uzak bulut sunucusunun ipadresi olduğunu unutmayın.
Öncelikle Raspberry Pi'den uzak bulut sunucusuna Putty kullanarak giriş yapalım. Raspberry PI CLI'ye aşağıdaki komutları yazın. (Bir özel anahtar oluştururken bir parola belirlediyseniz, şimdi sizden istenecektir.)
sudo ssh -i /home/pi/pitobot.key remoteuser1@ipaddress
Bu, sizi remoteuser1 ana dizinindeki uzak bulut sunucusunun CLI'sinde oturum açacaktır. 'Çıkış' yazarak; Raspberry Pi'nizin CLI'sine geri döneceksiniz.
Ardından, uzak bulut sunucusundan Raspberry Pi'ye dosya aktarmayı deneyin. Aşağıdaki komutları kullanın: (Yine, bir özel anahtar oluştururken bir parola belirlediyseniz, şimdi sizden istenecektir.)
sudo scp -i /home/pi/pitobot.key remoteuser1@ipaddress://var/www/html/*.* /home/pi/
Bu, tüm dosyaları uzak sunucudaki /var/www/html/ klasöründen Raspberry Pi'nizdeki /home/pi/ klasörüne aktaracaktır. (İki nokta çok önemlidir) Elbette komutların sırasını değiştirebilir ve dosyaları Pi'den uzak sunucuya aktarabilirsiniz.
3. Adım: Güvenlikle İlgili Hususlar
SSH anahtar çifti yaklaşımı güvenliği artırırken aşağıdakileri göz önünde bulundurun:
1. SSH anahtar çiftleri etkinleştirildiğinde, kullanıcıların doğrudan uzak sunucuda oturum açma yeteneğini kaldırmayı düşünmelisiniz (Sunucularınıza aynı anahtar çiftini kullanarak Windows'taki Putty anahtar çiftlerini kullanarak da erişebilirsiniz ve ayrıca devre dışı bırakmayı da düşünebilirsiniz. Pi'nizde de oturum açın). Bunu yapmayı seçerseniz dikkatli olun ve büyük patlama yaklaşımı kullanmayın. Bunu yapmak için ssh yapılandırma dosyasındaki birkaç yapılandırmayı devre dışı bırakmanız gerekir. Bunu yaparken çok dikkatli olun. komutlar
nano /etc/ssh/sshd_config
Ve dosya içinde aşağıdaki değişiklikleri yapın
Şifre Doğrulama numarası
PAM no kullan
Kaydedin, çıkın ve systemctl restart ssh ile SSH'yi yeniden başlatın (Bu Debian içindir. Farklı Linux dağıtımlarında farklı olabilir)
2) Tüm anahtarlarınızı güvende tutun, aksi takdirde veri ihlali veya sunucularınıza erişememe riskiyle karşı karşıya kalırsınız. Bunları bitwarden.com gibi güvenli bir kasada tutmanızı ve erişim denetimi politikanız aracılığıyla bunlara erişimi kısıtlamanızı öneririm.
3) Parola kullanımı güvenliği artırır ancak cron işlerinin otomasyonunu vb. daha zor hale getirebilir. Bu ve diğer özellikleri kullanma kararı, risk değerlendirmesi ile belirlenmelidir, örneğin, kişisel verileri işliyorsanız, daha büyük / orantılı kontrollere ihtiyacınız vardır.