如何在ssh命令中转义引号

时间:2014-05-08 13:28:58

标签: linux ssh

我想使用以下命令为用户test安装pub键。

我知道root密码,而用户test不存在。

cat test.pub | ssh root@127.0.0.1 "useradd -m test || su - test -c 'umask 077; mkdir /home/test/.ssh; cat >> /home/test/.ssh/authorized_keys'"

但命令不起作用。

Error: Creating mailbox file: File exists

1 个答案:

答案 0 :(得分:1)

问题是useradd -m test。我按userdel test && rm -rf /home/test删除了用户测试。它应该是userdel -r test

以下命令有效:

cat test.pub | ssh root@127.0.0.1 "useradd -m test && su - test -c 'umask 077; mkdir /home/test/.ssh; cat >> /home/test/.ssh/authorized_keys'"