我正在尝试克服我们环境中的一些限制,为无密码的ssh密钥写一个授权的SSH文件。
我需要执行ssh作为目标系统,然后运行“ sudo su - ,然后使用密钥更新服务帐户authorized_keys”
这最终必须上我的可靠的脚本。
我正在使用“ ssh -t user@target ” sudo su - service-user “ – 这实际上让我成为一个服务用户的shell,但我无法想出一个方法来传递文件修改命令以上。
任何提示或替代select?
注意:我需要使用“ ssh -t ”选项,因为目标系统上没有设置requiretty。
干杯!
假设你想用一个全新的版本覆盖service-user的authorized_keys文件,你可以这样做:
cat master_authorized_keys | ssh -t user@target \ "sudo -u service-user tee ~/.ssh/authorized_keys >/dev/null"
我不知道是否真的有必要,但也许是在你的环境中。