【发布时间】:2013-10-10 17:14:48
【问题描述】:
我在通过 ssh 使用通配符时遇到问题。我要运行的命令是ssh -t host "sudo ls -l /root/.ssh/id_rsa*。
我尝试使用单引号,也使用sudo -s。我也尝试过引用通配符本身,但似乎没有任何效果。其他人似乎使用了这些解决方案的某种组合,但它对我没有用。有任何想法吗?
【问题讨论】:
我在通过 ssh 使用通配符时遇到问题。我要运行的命令是ssh -t host "sudo ls -l /root/.ssh/id_rsa*。
我尝试使用单引号,也使用sudo -s。我也尝试过引用通配符本身,但似乎没有任何效果。其他人似乎使用了这些解决方案的某种组合,但它对我没有用。有任何想法吗?
【问题讨论】:
根据我的尝试,您必须生成一个新的 shell 以防止在以 root 身份验证之前扩展通配符:
ssh -t host "sudo -s bash -c \"ls -l /root/.ssh/id_rsa*\""
【讨论】:
echo "ls -l /root/.ssh/id_rsa*" | ssh host sudo bash