Beebird
2014-11-10 19:10:59 +08:00
```
sudo -H -u lin TERM=xterm256-color ssh -t -q -l ubuntu -o "StrictHostKeyChecking=no" -o "UserKnownHostFile=/dev/null" -i /home/lin/.ssh/id_rsa 10.0.3.56 mkdir -p ~/test
```
系统以 lin 的身份执行如下命令:
```
ssh -t -q -l ubuntu -o "StrictHostKeyChecking=no" -o "UserKnownHostFile=/dev/null" -i /home/lin/.ssh/id_rsa 10.0.3.56 mkdir -p ~/test
```
上面这个命令本意又是以user: ubuntu 登录10.0.3.56 去执行
```
mkdir -p ~/test
```
这里就出问题了,"~"会被解读为local user (lin)而不是remote user (ubuntu)的 home 目录,所以导致实际命令变成类似:
```
lin# ssh ubuntu@10.0.3.35 mkdir -p /home/lin/test
```
这就产生了权限错误,不确定是bug 还是配置过程的问题。