ssh怎么执行需要sudo提权shell/ target=_blank class=infotextkey>shell脚本
有文章建议修改/etc/sudoers,然后nopasswd:指定的cmd,没有远程虚拟终端自然无法操作,ubuntu10.04 server测试无效。
ssh执行远程操作
命令格式:
$port : ssh连接端口号
$user: ssh连接用户名
$ip:ssh连接的IP地址
cmd:远程服务器需要执行的操作
准备工作
基于公私钥认证或者用户名密码认证能确保登录到远程local2服务器(有点基本运维知识的人做这个事情都不是问题)
cmd如果是脚本,注意绝对路径问题(相对路径在远程执行时就是坑)
缺点:
此命令可以满足大多数的需求,但是通常运维部署时需要root权限,但是有几处限制:
1、远程服务器local2禁止root用户登录
2、在远程服务器脚本里转换身份用expect需要send密码,这样不够安全
3、执行远程服务器需要sudo权限的脚本
ssh的-t参数
中文翻译:
可以提供一个远程服务器的虚拟tty终端,加上这个参数即可在远程服务器的虚拟终端上输入提权密码了,非常安全。
命令格式
shell脚本
-t虚拟出一个远程服务器的终端,在多台服务器同时部署时,节约时间。