我几乎每天都必须将文件复制到不同的服务器。我通常做的是:
scp filename user@destinationhost:/destination/folder
Run Code Online (Sandbox Code Playgroud)
我一遍又一遍地运行相同的命令来更改目标主机,直到我完成所有服务器。将同一文件传输到这些不同服务器的最佳(和最快)方法是什么?
另一个缺点是我需要一遍又一遍地输入密码,但使用 rsa 不是一种选择,因为几个人可以连接到源服务器。
编辑 - 我在commandlinefu中发现循环可以解决问题:
for h in host1 host2 host3 host4 ; { scp file user@$h:/destination_path/ ; }
Run Code Online (Sandbox Code Playgroud) 我需要在特定界面上上传文件。这不能通过 iptables 设置,因为我的脚本在多个接口上输出。
这工作正常:
scp -oBindAddress=192.168.100.1 ...
Run Code Online (Sandbox Code Playgroud)
但
rsync --address=192.168.100.1
Run Code Online (Sandbox Code Playgroud)
仍在 eth0 (192.168.10.1) 上发送
我怎么能强制 rsync 使用 192.168.100.1 ?
任何的想法 ?
尝试将文件从 serverB 复制到 serverA 并收到以下错误:
root@server:~# scp /root/test.txt root@111.111.111.111:/home/somefolder/
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
lost connection
Run Code Online (Sandbox Code Playgroud)
在 serverA 上,我创建了一个没有密码短语的公钥/私钥对。在 serverB 上,我将公钥添加到 .ssh/authorized_keys 文件中。文件夹和文件都归 root 所有。
我最初用密码尝试了这个......因为它不起作用我创建了另一个没有密码的密钥。两者都给出了相同的结果。
这不是防火墙问题。serverA 是centos。serverB 是 ubuntu。
SCP 在我们公司的网络中很慢。为了测试,我从远程服务器复制了一个文件,该服务器通过路由器之间的 IPsec 连接。
使用时,scp -vv我收到很多这样的消息:
debug2: channel 0: window 1966080 sent adjust 131072
debug2: channel 0: window 1966080 sent adjust 131072
debug2: channel 0: window 1966080 sent adjust 131072
debug2: channel 0: window 1966080 sent adjust 131072
Run Code Online (Sandbox Code Playgroud)
我无法找出这条消息的含义。大多数情况下,人们报告在 SCP 停止时出现此消息。就我而言,我没有遇到 scp 停顿。根据其他网络运营商的说法,当应该有 1000 到 2000 kb/s 的下行速度时,它只是非常慢(下行 350kb/s)。
这些消息是什么意思?它们与我糟糕的 SCP 表现有什么关系吗?
如何确定 ssh 流量的优先级以确保低延迟但限制 SCP 文件传输?我正在寻找一种不特定于主机的解决方案,因此我不必添加 IP 地址列表。谢谢!
我有一个 shell 脚本,它不断在远程系统之间复制大文件(2 GB 到 5 GB)。基于密钥的身份验证与代理转发一起使用,一切正常。例如:假设 shell 脚本在机器 A 上运行并将文件从机器 B 复制到机器 C。
“scp -Cp -i 私钥 ssh_user@source-IP:source-path ssh_user@destination-IP:destination-path”
现在的问题是进程 sshd 不断占用 CPU 负载。
例如:目标机器(即机器-C)上的 top -c 显示
PID 用户 PR NI VIRT RES SHR S %CPU %MEM TIME+ 命令 14580 ssh_user 20 0 99336 3064 772 R 85.8 0.0 0:05.39 sshd:ssh_user@notty 14581 ssh_user 20 0 55164 1984 1460 S 6.0 0.0 0:00.51 scp -p -d -t /home/binary/instances/instance-1/user-2993/
这导致高平均负载。
我相信 scp 占用了太多 CPU,因为它正在加密/解密数据。但是我不需要加密数据传输,因为机器 B 和机器 C 都在局域网中。 …
我有一个用于备份的 sh 脚本
scp /mybackupdir/* backupuser@backupserver:/backup
Run Code Online (Sandbox Code Playgroud)
有没有一种简单的方法可以向 scp 添加密码?或者我是否必须检查 ssh-agent 是否正在运行,如果没有启动并添加密钥?
我的服务器的 ssh 出现了一些问题,我无法上传大于 10 KB 的文件,因为 scp 在复制过程中会挂起。我在这里找到了解决这个问题的方法,我正在更改 MTU,但我不小心这样做了sudo ip link set eth0 mtu 0。
现在没有人可以 ssh 进入服务器。我该怎么办?
我有与这里描述的完全相同的问题,但我不能要求作者澄清,因为我是一个新用户,我不能对此发表评论,所以我发布了一个新问题(我尝试在该问题下发布作为在同一线程上参考的答案,它被删除,因为它没有提供答案......)。
问题:是否有人对如何排除故障和/或确定该线程中描述的 TCP 问题的根本原因有任何建议?就好像远程端不接受 VPN 客户端发送的 ACK 消息一样。
我的设置和原问题一模一样:CentOS服务器(拓扑子网),两台客户端,一台CentOS,一台Ubuntu14.03。当我从 ubuntu-client 到 centos-client 执行 'ssh cat abc.txt' 时,centos 的 vpn 连接停止。恢复它的唯一方法是重新启动 openvpn 服务器(在 centos 机器上)和 centos 上的 openvpn 客户端 - 只是重新启动 centos 客户端连接并不能使其运行(它会在 ~ 1-2 分钟,但我无法再通过 vpn ping 或 ssh 盒子)。我还尝试了在其他线程(tun-mtu 1300 / fragment 1100 / mssfix 等)中找到的所有 MTU 调整建议,但没有一个有帮助。
更奇怪的是,如果我从 Ubuntu 执行相同的 ssh-cat,使用 CentOS 服务器 vpn 连接到 centos-client 的公共 IP 地址(从而绕过 centos-client<->centos-server vpn 腿),一切正常(永远没有摊位)。
更新 1:我发现有一种解决方法可以解决此问题,但它非常难看。在这里发布,以防万一有人提出任何其他想法/提示。当我在 openvpn 服务器(不是在客户端,仅在服务器上)上将详细级别设置为 9 时,问题再也不会发生。动词 9 导致 …
我正在尝试从机器 A 复制文件:
apt policy openssh-client
openssh-client:
Installiert: 1:7.2p2-4ubuntu2.4
Run Code Online (Sandbox Code Playgroud)
到机器 B:
apt-cache policy openssh-client
openssh-client:
Installiert: 1:5.5p1-6+squeeze5
Run Code Online (Sandbox Code Playgroud)
在 A:
scp myfile <server>:/myfile
md5sum myfile
2ba67c5e816350d4d2e2e7fd883037e7
file myfile
myfile: Python script, ASCII text executable
Run Code Online (Sandbox Code Playgroud)
在 B 上:
md5sum myfile
8883620c2a0878da1db273101b55124d
file myfile
myfile: ASCII Java program text
Run Code Online (Sandbox Code Playgroud)
查看文本文件,似乎每一行都比最后一行多一个空格,所以不是:
import argparse, os, sys
from subprocess import check_output
def count_voicemails(dir):
# find is faster than ls, since it does not check attributes
command = 'find {}/INBOX -maxdepth 1 | wc -l'
count = …Run Code Online (Sandbox Code Playgroud)