Ssh'yi id_rsa izinlerini yoksaymaya zorla


2

Birden fazla kullanıcı tarafından kullanılmak üzere özel bir anahtar gerektiren çok özel bir gereksinim var. Bunun ne kadar kötü olduğunu biliyorum. Sorun, kimlik dosyasının izninin izin vermesi ise (benim durumumda 444) ssh'nin onları görmezden gelmesidir.

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @        
WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0444 for '/var/vendor/id_rsa' are too open. It is
recommended that your private key files are NOT accessible by others.
This private key will be ignored.

Man sayfalarından

Kimlik doğrulama için özel anahtarı içerir. Bu dosyalar hassas veriler içerir ve kullanıcı tarafından okunabilir ancak başkaları tarafından erişilebilir olmamalıdır (okuma / yazma / yürütme). ssh, başkaları tarafından erişilebilir durumda ise, özel bir anahtar dosyasını görmezden gelir.

İzinleri kontrol etmeden ssh'yi anahtarı kullanmaya zorlamanın bir yolu var mı?

Yanıtlar:


1

Erişim Kontrol Listeleri ile aklama için uygun hale getirebilirsiniz. Yardımcı programları kullanın getfaclve setfacl.

Düzgün bir maske ayarlamayı da unutmayın setfacl, çünkü normalde ekleyeceğiniz ayrı izinler grup izinleri aynı değilse etkili olmaz.

Yine de dosya sisteminizin desteklemesi gerekiyor. Etkin değilse, fstab'ınıza mount seçeneğini eklemeniz gerekir.


setfacl izinleri değiştirdi ve ssh tekrar şikayet etti. Tuhaf olan şey, id_rsa'yı herşeyin yolunda anahtar erişimi olan root dışındaki bir kullanıcıdan kullandığım zamandır, fakat root ssh'den ssh yapmaya çalıştığımda şikayet ediyor.
Moshohayeb

0

İlgili bir sorunun cevabı , izin kontrolünü atlamanın bir yolu olmadığını göstermektedir.

Ancak, aynı sorunu yaşadım --- çok sayıda ana makineye erişebilmek ve onları kontrol edebilmek için birkaç kullanıcının aynı anahtarı paylaşmasını istedim --- ve düzeltmem başkaları için yararlı olabilir.

İşte yaptığım şey:

  1. Anahtarı tutmak için özel bir kullanıcı (say, master) ve grup ( master) oluşturun.
  2. Anahtar dosyaları oluşturun / saklayın ~master/.ssh/.
  3. Anahtar dosyaya gruba okuma izni verin chmod g+r ~master/.ssh/id_rsa.
  4. Yetkili kullanıcıların her birini mastergruba ekleyin .
  5. Bir bağlantı yapın ~user/.ssh/id_rsaetmek ~master/.ssh/id_rsa.

Bu yetkili kullanıcının sshsorunsuz çalışmasını sağlar, ancak anahtarı herkese açmaktan kaçınır. Ayrıca, anahtar sahibi kök değil.

Garip bir şekilde, masterkullanıcının kendisi hala "korumasız özel anahtar" uyarısı alacaktır. Bu, örneğin anahtar dosyanın sahibini (grubunu değil) değiştirerek, sudo chown daemon ~master/.ssh/id_rsaörneğin anahtarı kullanmaya gerek kalmayacak bazı özel kullanıcılara atfedilebilir.


0

Farklı bir perspektiften bir öneri:

SSH , bir hesap için hangi anahtar çiftlerinin kullanılacağına karar vermek için bir sunucuyla (genellikle sunucunun dosya sistemine erişiminiz varsa ~ / .ssh / yetkili_ anahtarları) çalışır.

Bu dosyayı düzenleyebilirseniz, her kullanıcının ortak hesabını söz konusu hesap için bu dosyaya eklemeniz yeterlidir; hepsinin bu hesapta oturum açmasına izin verilir. Birisi iş tanımından çıkarsa veya değiştirirse, pubkey dosyasını dosyadan kaldırın.

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.