Benim amacına geçen EC2 yeni kullanıcı ekleme ve SSH anahtarlarına erişim vermek ama bir sorun abit yaşıyorum bir bash komut dosyası oluşturmaktır.Bash Scripting - hiçbir değer
Bu benim şimdiki senaryo olduğunu ve bunun parola sorar çünkü özel/kamusal anahtar oluşturmak için gereken her komut durdurur. Komutumu yalnızca enter tuşuna basmak için nasıl yapılandırabilirim?
#!/bin/bash
username=$1
ssh-keygen -b 1024 -f $username -t dsa
chmod 600 $username.pub
useradd $username
mkdir /home/$username/.ssh
chmod 700 /home/$username/.ssh
chown ball:ball /home/$username/.ssh
cat ball.pub >> /home/$username/.ssh/authorized_keys
chown 600 /home/.ssh/$username/authorized_keys
chown ball:ball /home/$username/.ssh/authorized_keys
[[email protected] /]# ssh-keygen -b 1024 -f ball -t dsa
Generating public/private dsa key pair.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in ball.
Yaklaşık okumak isteyebilirsiniz [sözcüklere ayırma ] (http: //mywiki.wooledge.or g/WordSplitting) Eğer '$ username' bir boşluk içeriyorsa kodunuz çoğalır. – andlrc
Bu biraz [XY sorusu] (http://xyproblem.info) gibi görünüyor. [Sadece ssh-keygen'i söyleyemezsin, '-N' ['] argümanını kullanarak bir açıklama istemezsin (http://stackoverflow.com/q/10767488/1695906). Denenen çözümden ziyade asıl sorun hakkında soru sormak en iyisidir. –
Senaryonuz da oldukça tehlikelidir - en azından 1 $ 'lık gerçekten geçip geçmediğini test etmelisiniz, bu yüzden süreçten zarar görmediniz. [["$ 1" == ""]] gibi bir şey; sonra echo "kullanım: 0 $ kullanıcı adı"> & 2; çıkış 1; fi; ' –