可能重复:
使用 sudo scp 到远程服务器
作为 sudo 用户,从一个盒子到另一个盒子执行 SCP 的最佳方法是什么。有两个服务器
服务器A
10.152.2.10
/home/oracle/export/files.txt
用户:部署
服务器B
10.152.2.11
/家/甲骨文/进口/
用户:部署
Sudo 用户:/usr/local/bin/tester
我只想将文件从服务器 A 复制到服务器 B 作为 sudo 用户...
为了做到这一点,首先我通常在目标服务器上以部署用户身份登录,然后在没有密码的情况下切换为 sudo 用户。
在那个 SCP 复制文件之后,这是我执行此活动的正常方式......
为了自动配对,我编写了脚本
#!/bin/sh
ssh deploy@lnx120
sudo /usr/local/bin/tester "./tester/deploy.sh"
Run Code Online (Sandbox Code Playgroud)
我已经为部署用户生成了私钥,所以它允许我在没有密码的情况下以部署用户的身份登录。在执行 sudo 命令之后,它会将用户切换到测试人员...
之后什么也没有发生......我的意思是脚本没有被执行......有没有办法以不同的方式完成这个......
use*_*686 10
您可以在 周围制作一个包装器ssh
,如下所示:
#!/usr/bin/perl
use strict;
my $added = 0;
$added ||= s/^scp /sudo $&/ for @ARGV;
exec "ssh", @ARGV;
Run Code Online (Sandbox Code Playgroud)
使其可执行,并scp
像这样运行:
scp -S ./ssh-wrapper somefile anotherfile hostname.domain.tld:path/
这仅sudo
在远程服务器上不需要密码(或者它被缓存)时才有效,但总比没有好。
归档时间: |
|
查看次数: |
22130 次 |
最近记录: |