Bir Linux kapsayıcısı, giriş dizinimin dışında bir yetkili_anahtarlar dosyası kullanabilir, ancak buna dayalı geçici kapsayıcılar kullanılamaz. Neden?


10

Ubuntu 12.10'da, lxc-create yardımcı programını kullanarak 'ubuntu' türünde bir LXC oluşturdum. Daha sonra lxc-start-ephemeral yardımcı programını kullanarak bu kapsayıcıya dayalı geçici kapsayıcılar oluşturuyorum ve parolasız ssh kullananlara bağlanmam gerekiyor. Ancak, / home / ubuntu klasörlerini bozulmadan tutmam gerekiyor, bu yüzden her zamanki .ssh / authority_keys dosyasını oraya koyamıyorum.

Şifrelenmiş ana dizini 'bölümü burada ev dizininin authorized_keys taşıma söylüyor. Baz kabın içinden bu talimatları izledikten sonra, bir şifre vermeden baz kabın içine ssh yapabilirim.

Ancak, temel kaptan geçici bir kapsayıcı başlattığımda, parola olmadan ssh edemiyorum. (Geçici kaba Ait, şifresiz ssh yapar authorized_keys /home/ubuntu/.ssh içinde her zamanki yerinde olduğu zaman işi.) Bunu nasıl düzeltebilirim?

Ssh -v, ana bilgisayar anahtarını kabul ettiğinden başlayarak şunları söyledi:

debug1: ssh_ecdsa_verify: signature correct
debug1: SSH2_MSG_NEWKEYS sent
debug1: expecting SSH2_MSG_NEWKEYS
debug1: SSH2_MSG_NEWKEYS received
debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Offering RSA public key: /home/ubuntu/.ssh/id_rsa
debug1: Authentications that can continue: publickey,password
debug1: Trying private key: /home/ubuntu/.ssh/id_dsa
debug1: Trying private key: /home/ubuntu/.ssh/id_ecdsa
debug1: Next authentication method: password

Geçici konteynırdaki /var/log/auth.log dosyasının ilgili bölümleri şunlardır:

Apr 11 00:06:52 test-temp-SNeWevO sshd[306]: Authentication refused: bad ownership or modes for directory /
Apr 11 00:06:54 test-temp-SNeWevO sshd[306]: Accepted password for ubuntu from 10.0.3.1 port 59677 ssh2
Apr 11 00:06:54 test-temp-SNeWevO sshd[306]: pam_env(sshd:setcred): Unable to open env file: /etc/default/locale: No such file or directory
Apr 11 00:06:54 test-temp-SNeWevO sshd[306]: pam_unix(sshd:session): session opened for user ubuntu by (uid=0)

Bu testi standart Ubuntu 12.10 AMI'ye dayanan yeni bir AWS mikro örneği üzerinde yaptım ve yardımcı olursa nasıl çoğaltılacağı hakkında ayrıntılı talimatlar sağlayabilirim.


Güncelleme: Sorunun lxc-start-geçici kullanımının kullandığı garip dosya sistemleri olabileceğini düşündüm, bu yüzden bazı değişiklikler yaptım. İlk olarak OVERLAY_DIR ve EPHEMERAL_BIND_DIR'in tmpfs olmasını engelledim, şimdi sadece dizinler. Bu sorunu çözmedi. Sonra geçici kapsayıcısının kök dosya sistemini bindirmelerden basit bir bağlama bağına değiştirdim. Yani yaptığımız düzeltin. Ne yazık ki bu benim sorunumu çözmüyor, çünkü bindirmelere ihtiyacım var.
Anand

Yanıtlar:


1

Bu eski bir soru ama hala google geliyor ...

Authentication refused: bad ownership or modes for directory /

sshd hizmetinin yetkili_anahtarların bulunduğu dizin için katı izin gereksinimlerine sahip olmasından kaynaklanır, kök dizinin (/) muhtemelen kapsayıcıları yapılandırma yönteminizle ilgili bir şey yapmayı nasıl başardığınızdan emin değilsiniz.

Bu durumda olması muhtemel gibi görünen / izinlerini değiştiremiyorsanız,

StrictModes no

sshd_config içinde.
Sunucuya erişen birden fazla kullanıcınız yoksa, bunun güvenliğe çok az etkisi vardır.

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.