1
如果root用戶正在運行一個bash腳本,該腳本爲用戶配置一些機器上的東西。該腳本將配置一個git存儲庫和一個ssh密鑰以實現無密碼的github通信,然後它將克隆存儲庫。 這隻會發生一次。如果我是root用戶,如何爲某個用戶設置SSH密鑰?
我是新來的bash,我該怎麼做?
我的解決方案至今(此腳本以root身份運行):
USERNAME="vagrant"
HOMEDIR="/home/$USERNAME"
apt-get update -y
apt-get install git -y
cp id_rsa* $HOMEDIR/.ssh #copying predefined keys
su -c "eval `ssh-agent -s` ssh-add $HOMEDIR/.ssh/id_rsa" $USERNAME
chmod 400 $HOMEDIR/.ssh/id_rsa
cat $HOMEDIR/.ssh/id_rsa.pub > $HOMEDIR/.ssh/known_hosts
這不起作用,因爲沒有添加的關鍵,我得到的錯誤:
Could not open a connection to your authentication agent.
爲什麼腳本以root用戶身份運行? – akluth
這是一個很好的資源 - https://github.com/saga-project/BigJob/wiki/Configuration-of-SSH-for-Password-less-Authentication – Hussain
'su -c'這行完全沒有意義,因爲'id_rsa '是執行ssh調用時自動搜索的文件之一。我會在id_rsa文件上做一個chown,以確保它由相關用戶擁有。我並不贊同這個過程* – Petesh