我试图在我的网络中的一个远程路由器上运行命令"iwlist wlan0扫描“。我尝试了以下SSH命令
ssh -o IdentityFile=~/Dropbox/ALI/id_rsa -l root 172.20.125.162 iwlist wlan0 scan
ssh -o IdentityFile=~/Dropbox/ALI/id_rsa -l root 172.20.125.162 "iwlist wlan0 scan"
ssh -o IdentityFile=~/Dropbox/ALI/id_rsa -l root 172.20.125.162 `iwlist wlan0 scan
ssh -o IdentityFile=~/Dropbox/ALI/id_rsa -l root 172.20.125.162 \`iwlist wlan0 scan\`
ssh -o IdentityFile=~/Dropbox/ALI/id_rsa -l root 172.20.125.162 \"iwlist wlan0 scan\"*但是,所有这些命令都会导致以下错误:
ash: iwlist: not found但是,当我实际使用命令登录到路由器时
ssh -o IdentityFile=~/Dropbox/ALI/id_rsa -l root 172.20.125.162 我运行"iwlist wlan0扫描“,它可以工作,我可以看到周围的访问点列表。这意味着"iwlist“实际上在我的路由器上可用,但是我不能正确地将它传递给路由器。同样,当我运行以下命令时
ssh -o IdentityFile=~/Dropbox/ALI/id_rsa -l root 172.20.125.162 ls
ssh -o IdentityFile=~/Dropbox/ALI/id_rsa -l root 172.20.125.162 pwd
ssh -o IdentityFile=~/Dropbox/ALI/id_rsa -l root 172.20.125.162 uname -n如果我跑的话,它们会很好的工作
ssh -o IdentityFile=~/Dropbox/ALI/id_rsa -l root 172.20.125.162 route -n 它不工作,但再次,如果我登录到路由器,并运行“路由-n”,我将得到结果。所以我猜SSH是在选择我要通过的命令中的哪一条,哪些命令不能通过。有什么办法解决这个问题吗?
谢谢,
发布于 2014-08-21 22:58:12
您可能在登录时没有设置相同的环境变量(例如路径),而不是在不登录的情况下运行命令。
尝试以下步骤:找出命令在哪里。如果幸运的话,您可以运行which route (取决于路由器上有多少unix )。
找到命令的完整路径后,请尝试指定该路径。例如,如果which route显示/sbin/route,那么尝试将命令中的route替换为/sbin/route -例如,ssh -o IdentityFile=~/Dropbox/ALI/id_rsa -l root 172.20.125.162 /sbin/route -n
https://stackoverflow.com/questions/25437150
复制相似问题