当前位置:首页 » 编程软件 » ssh执行脚本

ssh执行脚本

发布时间: 2022-10-08 15:49:46

1. 请问我在linux下想实现一个终端同时通过SSH执行其它多个终端内的shell脚本怎么实现

ssh $IP_102 -l $User "sh 102.sh"&
ssh $IP_103 -l $User "sh 103.sh"&
这样执行就可以同时执行了,否则是一个一个执行的。
如果判断是否执行完成就写一个log日志,看好读日志就可以了。

2. 利用shell脚本执行ssh远程另一台主机执行命令并返回命令的结果集

假设从主机A,检查主机B上的进程,
需要在主机B上建立检查用户,例如叫x,
并设置通过public key认证登录SSH,不会可以google搜一下,
然后,在A机器上执行:
ssh x@B ~/command.sh > result.txt
command.sh就是B机器上放置在x目录下的脚本。
输出结果应该是写到了result.txt
或者另一种写法
result=`ssh x@B ~/command.sh`
结果直接保存到result变量中了。
暂时没有linux环境,所以没有实际测试,你自己试试吧
免费提供最新Linux技术教程书籍,入门自学书籍《linux就该这么学》,为开源技术爱好者努力做得更多更好

3. SSH的运行脚本的语句


-V Display the version number and exit.

显示版本号并退出。

退出SSH当然就断开连接啦。


写在shell脚本里,执行的时候是在新建shell中执行的,退出也只是退出新建shell回到原shell,所以不影响连接。

试试执行:

(ssh-V)

放到小括号中,同样会新建shell去执行。




4. paramiko的简单使用(ssh远程执行脚本和上传文件)

备注:使用paramiko==2.1.1版本

import paramiko

s = paramiko.SSHClient()

s.set_missing_host_key_policy(paramiko.AutoAddPolicy())

s.connect(hostname='192.168.161.xxx',username='root',password='xxx')

sftp = s.open_sftp()

sftp.put('../test.sh', '/data/test.sh')

sftp.close()

stdin, stdout, stderr = s.exec_command("cd /data/;./test.sh")

print stdout.read()

print stderr.read()

s.close()

importparamiko

transport = paramiko.Transport(('192.168.161.xxx',22))

transport.connect(username='root',password='xxx')

sftp = paramiko.SFTPClient.from_transport(transport)

sftp.put('./test.sh','/data/test.sh')

transport.close()

5. 在脚本中使用ssh时的几个注意事项

1. 超时设置
-o ConnectTimeout=3
2. 重定项标准输入到/dev/null
-n
当使用这样的形式时 (使用 key 认证):
while read line ; do ip=$(awk '{print $1}' < << $line ) ssh -n -o ConnectTimeout=3 $i uptime done < file
假如此时不使用 -n ,则只有第一行会被处理。
3. 批处理模式,在脚本中使用再合适不过(使用 key 认证)
-o BatchMode=yes
当 key 认证不成功时,有可能会弹出“密码认识”,从而影响脚本运行下去,此时可以打开 BatchMode模式。
4. 遇到未知主机:
-o StrictHostKeyChecking=no
当遇到未知的主机公钥时,自动接受key。
5. 糟遇远程主机连接后无响应:
当设置了 BatchMode 时 ServerAliveInterval 默认被设置成 300 秒(服务端无数据传回的持续时间)。
ServerAliveCountMax相当于是重试的次数,比如下面的例子,15秒 x 3 = 45 秒,即当 45 秒后,真正超时断开。
TCPKeepAlive打开时,便于发现网络的断开。当网络故障(比如路由器坏掉)或者远端开机、死机时,连接会主动断开,否则的话,将会等待相当一段时间后才会断开。
-o ServerAliveInterval=15
-o ServerAliveCountMax=3
-o TCPKeepAlive=yes
需要注意的是,这里的超时、无响应,仅是 ssh或者sshd无影响,假如是在远程上执行程序,程序无响应,则不能处理此时的超时,解决方法见《在Shell中实现异步》。

6. java SSH远程到linux 执行本地的脚本

scp file yonghuming@服务器 :/路径

把本地文件 file 传送到 服务器 的 /路径 下。
然后就可以远程执行了。

7. 需求:linux脚本ssh登录到A机器然后再ssh到B机器然后再ssh到C机器,执行命令。这个脚本怎么写

#!/usr/bin/expect
spawnsshaaa@ip-address
expect"password:"
send"password "
expect"$"
send"sshbbb@ip-address "
expect"bbb@ip-address'spassword:"
send"password "
expect"$"
send"sshccc@ip-address "
expect"ccc@ip-address'spassword:"
send"password "
expect"$"
send"pwd "
interact

8. python怎样ssh 连接远程机器并且执行脚本命令

result=os.popen("ssh A; grep -r hello ./* ") print("".join(result))

9. linux下如何使用ssh远程登录主机 执行shell脚本

知道linux的ip,用户和密码就可以远程登陆了。在你的SSH 客户端会有一个linux的终端。在这执行命令就可以了。

10. ssh登录到远端服务器执行本地脚本,怎么给脚本传递位置参数

首先要设置ssh信任 ----> 实现无密码ssh登录. 这个你可以自行搜索, 脚本非常简单: ssh user@host "command $var"

热点内容
内置存储卡可以拆吗 发布:2025-05-18 04:16:35 浏览:333
编译原理课时设置 发布:2025-05-18 04:13:28 浏览:375
linux中进入ip地址服务器 发布:2025-05-18 04:11:21 浏览:610
java用什么软件写 发布:2025-05-18 03:56:19 浏览:31
linux配置vim编译c 发布:2025-05-18 03:55:07 浏览:107
砸百鬼脚本 发布:2025-05-18 03:53:34 浏览:941
安卓手机如何拍视频和苹果一样 发布:2025-05-18 03:40:47 浏览:739
为什么安卓手机连不上苹果7热点 发布:2025-05-18 03:40:13 浏览:802
网卡访问 发布:2025-05-18 03:35:04 浏览:510
接收和发送服务器地址 发布:2025-05-18 03:33:48 浏览:371