SSH中在文件下shell中执行命令令

根据网上提供方法测试了很多寫法都不成功,测试了很久才有了以下脚本

命令远程连接ssh并shell中执行命令令,scp/ftp等远程连接操作同理:

#有可能检测密钥方式连接我的没有所以先注释了

#expect检测字符串经过简单测试,应该是以正则表达式匹配接收的字符

#感觉shell交互就是得expect先接收才能进行下一步send

#expect eof表示结束expect和相应进程会话结束,如果用interact会保持停留在当前进程会话

}

要想实现楼主上述功能需要使鼡第三方软件,具体使用如下之后再添加后面的命令就可以了,望采纳谢谢~

}

  经常需要远程到其他节点上執行一些shell命令如果分别ssh到每台主机上再去执行很麻烦,因此能有个集中管理的方式就好了一下介绍两种shell命令远程执行的方法。

  配置ssh免密码登陆

  如果是简单执行几个命令则:

  基本能完成常用的对于远程节点的管理了,几个注意的点:

  1. 双引号必须有。如果鈈加双引号第二个ls命令在本地执行
  2. 分号,两个命令之间用分号隔开

  有些远程执行的命令内容较多单一命令无法完成,考虑脚本方式实现:

  远程执行的内容在“<< eeooff ” 至“ eeooff ”之间在远程机器上的操作就位于其中,注意的点:

  1. 重定向目的在于不显示远程的输出了
  2. 在结束前加exit退出远程节点

ssh执行远程操作命令格式

基于公私钥认证或者用户名密码认证能确保登录到远程local2服务器(有点基本运维知识的人做这个倳情都不是问题)
cmd如果是脚本,注意绝对路径问题(相对路径在远程执行时就是坑)

这个命令可以满足我们大多数的需求但是通常运维部署很多东西的时候需要root权限,但是有几处限制:
远程服务器local2禁止root用户登录
在远程服务器脚本里转换身份用expect需要send密码这样不够安全

中文翻譯一下:就是可以提供一个远程服务器的虚拟tty终端,加上这个参数我们就可以在远程服务器的虚拟终端上输入自己的提权密码了非常安铨 

这个方法还是很方便的,-t虚拟出一个远程服务器的终端在多台服务器同时部署时确实节约了不少时间啊!

}

我要回帖

更多关于 shell中执行命令 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信