Çok garip bir sorun yaşıyorum. Ben ssh aracılığıyla (ortak anahtar kimlik doğrulaması kullanarak) uzak bir ana bilgisayarda bir komut çalıştıran küçük bir bash komut dosyası oluşturduk.
Bu komut dosyasını komut satırından el ile çalıştırdığımda iyi çalışıyor, ancak /etc/cron.hourly içine yerleştirildiğinde Permission denied, please try again.
hata ile başarısız oluyor .
- Ben açıkça kullanarak komut dosyasında anahtarı ayarlayın
ssh -i /root/.ssh/id_rsa user@remote "command"
; - komut dosyası kök olarak çalışıyor (ben bir
echo `id` > /tmp/whoami.log
çift kontrol için ekledim ); ve - ssh anahtarı parola korumalı değil ...
Sistem Ubuntu 12.04 sunucusudur, sorun giderme için uzak tarafta çok fazla erişimim yok, ancak dediğim gibi ssh'yi manuel olarak veya komut satırından aynı bash betiğini çalıştırıyor.
Bunun neden olduğu veya nasıl düzeltileceği hakkında herhangi bir fikir ??
Güncelleme
I dışarı dönüşler yanlış olduğunu ve SSH anahtar edildi bash oturumundan çalıştırırken bir komut dosyasından başarısız değil dolayısıyla neden, şifre (anahtarlık yüklenmesiyle ssh-agent) korumalı. . ~/.keychain/$HOSTNAME-sh
Senaryomu eklemek sorunu çözdü (beni doğru yöne yönlendiren ve kapsamlı bir cevap veren @grawity sayesinde).
SSH_AUTH_SOCK
ilgili olduğundan emin değilim (her şeyi denemekten mutluluk duyuyorum). Anahtar dosyaya doğrudan erişiyorum ve anahtar dosyası parola korumalı değil. KRB5CCNAME
Hızlı bir arama gelince bu Kerberos ile ilgisi olduğunu gösterdi. Yine - bu sorunun bağlantısını görmüyorum, ama belki de burada bir şey eksik ...
-v
seçenek eklerseniz daha da iyi olurdu ssh
...
ssh -i
iki durumda açıkça komut kullanarak anahtarı kullanın ... Ben komut dosyasında bu değişkenleri ayarlamayı deneyin ve bakın. Eklemek için iyi bir öneri -v
- ben de ekleyeceğim.
SSH_AUTH_SOCK
veKRB5CCNAME
ortam değişkenlerinden sonra tekrar test edin .