首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SSH不能将特定命令传递给远程路由器。

SSH不能将特定命令传递给远程路由器。
EN

Stack Overflow用户
提问于 2014-08-21 22:49:06
回答 1查看 78关注 0票数 1

我试图在我的网络中的一个远程路由器上运行命令"iwlist wlan0扫描“。我尝试了以下SSH命令

代码语言:javascript
运行
复制
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\"*

但是,所有这些命令都会导致以下错误:

代码语言:javascript
运行
复制
ash: iwlist: not found

但是,当我实际使用命令登录到路由器时

代码语言:javascript
运行
复制
ssh -o IdentityFile=~/Dropbox/ALI/id_rsa -l root 172.20.125.162 

我运行"iwlist wlan0扫描“,它可以工作,我可以看到周围的访问点列表。这意味着"iwlist“实际上在我的路由器上可用,但是我不能正确地将它传递给路由器。同样,当我运行以下命令时

代码语言:javascript
运行
复制
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

如果我跑的话,它们会很好的工作

代码语言:javascript
运行
复制
ssh -o IdentityFile=~/Dropbox/ALI/id_rsa -l root 172.20.125.162 route -n 

它不工作,但再次,如果我登录到路由器,并运行“路由-n”,我将得到结果。所以我猜SSH是在选择我要通过的命令中的哪一条,哪些命令不能通过。有什么办法解决这个问题吗?

谢谢,

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25437150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档