我有这个命令
cat ~/.ssh/id_dsa.pub | ssh root@[my_server] "cat >> ~/.ssh/authorized_keys"
sudo -iu user1
我怎样才能在第二个之前做同样的事情cat
?也就是说,我想在登录后更改用户。
答案1
如果您不介意将密钥也显示在屏幕上(它是公钥,因此这不是什么安全问题),您应该能够使用以下方法tee
来避免重定向问题:
cat ~/.ssh/id_dsa.pub \
| ssh root@server 'sudo -i -u user1 tee -a ~user1/.ssh/authorized_keys'
答案2
尝试这个:
cat ~/.ssh/id_dsa.pub | ssh root@[my_server] $'sudo -i -u user1 bash -c "cat - >> ~/.ssh/authorized_keys"'