在liunx中 有A.B两个服务器,现在A.B服务器上进行了互信设置,若从服务器A中调用服务器B目录下的脚本运行,请问实现从服务器A到服务器B调用脚本的具体脚本步骤
时间: 2024-03-09 22:44:48 浏览: 61
首先,确保A和B两台服务器之间已经配置好了SSH互信,也就是A可以免密码登录到B。接下来,你可以使用以下命令在A服务器上调用B服务器上的脚本:
```
ssh user@B 'bash /path/to/script.sh'
```
其中,user是B服务器上的用户名,/path/to/script.sh是需要在B服务器上执行的脚本的路径。这个命令会在A服务器上启动一个SSH会话,并在B服务器上执行指定的脚本。
如果你想在A服务器上获取脚本的输出,可以将命令改为:
```
ssh user@B 'bash /path/to/script.sh' < /dev/null
```
这个命令会将标准输入重定向到/dev/null,这样就可以在A服务器上获取脚本的标准输出和标准错误输出了。
相关问题
在liunx中通过互信如何设置可以实现在服务器A上通过脚本直接调起远程服务器B上的脚本
要在Linux中通过互信实现在服务器A上通过脚本直接调起远程服务器B上的脚本,可以按照以下步骤进行设置:
1. 在服务器A上生成一对密钥,其中一把私钥留在服务器A上,另一把公钥复制到服务器B上。
2. 在服务器B上将公钥添加到authorized_keys文件中,该文件通常位于~/.ssh目录下。可以使用以下命令将公钥复制到服务器B上:
```
ssh-copy-id user@serverB
```
其中user是服务器B上的用户名,serverB是服务器B的IP地址或主机名。
3. 在服务器A上编写脚本,并使用ssh命令调用远程服务器B上的脚本。例如:
```
ssh user@serverB 'bash /path/to/script.sh'
```
其中user是服务器B上的用户名,serverB是服务器B的IP地址或主机名,/path/to/script.sh是服务器B上的脚本路径。
4. 在服务器A上设置无密码登录,使得在调用远程服务器B上的脚本时不需要输入密码。可以按照以下步骤进行设置:
- 修改/etc/ssh/sshd_config文件,将以下两行的注释去掉:
```
RSAAuthentication yes
PubkeyAuthentication yes
```
- 重启SSH服务
```
systemctl restart sshd
```
- 在服务器A上将私钥添加到ssh-agent中,使得在调用远程服务器B上的脚本时不需要输入密码。可以使用以下命令将私钥添加到ssh-agent中:
```
ssh-add /path/to/private_key
```
其中/path/to/private_key是服务器A上的私钥路径。
阅读全文