You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从受PAM认证管控的Linux服务器A拉取远程服务器B文件的可行方案咨询

从受PAM认证管控的Linux服务器A拉取远程服务器B文件的可行方案咨询

当然有完全适配你场景的解决方案!我来给你梳理几个实操性拉满的方法,完美解决你的痛点:

核心逻辑拆解

你现在的困境是「从B推文件到A需要B持有A的PAM凭证,但你根本没法给B配置这个权限」,那咱们换个思路——从你已经登录的A服务器主动发起连接到B,用你手里的B服务器凭证完成认证,把B上的文件直接拉到A本地,所有限制瞬间就绕开了。


方法一:用scp直接拉取(最通用的基础方案)

当你已经通过PAM认证登录到服务器A之后,直接在A的命令行里执行以下命令:

scp 你的B服务器用户名@服务器B的IP/域名:/B上目标文件的完整路径 /A上要保存的本地路径

举个实际的例子:假设你在B的用户名是bob,B的IP是10.0.0.8,要拉的文件是/home/bob/project_data.tar.gz,想存到A的/data目录下,命令就是:

scp bob@10.0.0.8:/home/bob/project_data.tar.gz /data/

执行后会立刻弹出输入B服务器密码的提示(如果你用密钥登录B,就会自动调用对应的密钥完成认证),输入你持有的B凭证后,文件就会从B传输到A了。

这个方法的优势是零额外配置,只要A能访问B的SSH默认22端口就能用,完全符合你「文件只能从B到A」的网络限制。

方法二:用rsync拉取(大文件/增量更新首选)

如果要传输的是大文件,或者后续需要频繁更新同一份文件,用rsync会高效很多——它只会传输文件中变化的部分,能省不少带宽和时间。命令格式和scp几乎一致:

rsync 你的B服务器用户名@服务器B的IP/域名:/B上目标文件的完整路径 /A上要保存的本地路径

执行后同样会提示你输入B的凭证,完成认证后就会开始传输。


几个要注意的细节

  • 请确认服务器A能访问B的SSH默认22端口,如果网络里有防火墙规则,得先确保A到B的22端口是开放的;
  • 如果你习惯用密钥登录B,也可以把A服务器当前用户的公钥添加到B对应用户的~/.ssh/authorized_keys文件里,这样后续拉取文件就不用每次输密码;但如果你希望每次都手动输入凭证,保持B的密码登录配置就好。

备注:内容来源于stack exchange,提问作者Wilfred Muhia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 15:18:03