Bash

如何使用帶有“sudo -ui”的管道?

  • May 24, 2022

我有這個命令

cat ~/.ssh/id_dsa.pub | ssh root@[my_server] "cat >> ~/.ssh/authorized_keys"

sudo -iu user1我怎麼能在第二次之前做同樣的事情cat?也就是說,我想在登錄後更改使用者。

如果您不介意在螢幕上獲取密鑰(它是公鑰,所以這不是什麼安全問題),您應該能夠使用tee以避免重定向問題

cat  ~/.ssh/id_dsa.pub \
| ssh root@server 'sudo -i -u user1 tee -a ~user1/.ssh/authorized_keys'

嘗試這個:

cat ~/.ssh/id_dsa.pub | ssh root@[my_server] $'sudo -i -u user1 bash -c "cat - >> ~/.ssh/authorized_keys"'

引用自:https://unix.stackexchange.com/questions/703593