我可以使用SCP成功从瞻博networking设备下载configuration – 我想为Cisco路由器做同样的事情。 SSH访问已经正常工作,并且我使用ip scp server enable来启用SCP。 问题是,我不知道我需要下载的文件的名称或位置,像WinSCP这样的GUI工具似乎不工作(抱怨我需要一个BASH shell)。 思科设备可以吗?
我通过ssh通过查找从服务器抓取文件列表 for f in `ssh -p ${SSH_PORT} -l ${SSH_USER} ${SSH_HOST} -t "find ${DIR_REMOTE} -type f | grep jpg" 2> /dev/null` 当我在for循环( echo ${f} )主体中回显列表时,一切正常: /a3/obieg/skan001/skan001.jpg /a3/obieg/skan001/skan000.jpg /a3/obieg/skan001/skan003.jpg /a3/obieg/skan001/skan002.jpg /a3/obieg/skan.jpg ( scp -p -P ${SSH_PORT} ${SSH_USER}@${SSH_HOST}:"${f}" "${DIR_SUB}${2}_$(date +%Y%m%d_%H%M%S_%N.jpg)" ),结果是: : No such file or directory001.jpg : No such file or directory000.jpg : No such file or […]
我正在寻找一种方法来分发一个大文件夹(〜40-60g)到多个服务器(4个或更多)。 循环中的一个简单的scp命令已经在工作了。 我想有一个更快的方法,但简单地并行这个command &和wait (或GNU并行 )不会有太大的改善,因为带宽是有限的。 另外我想要一个简单的方法,不应该涉及分布式文件系统设置。 我已经读过nfs会比scp或者rsync更快,但是我认为如果有3个以上的目标服务器,也就是“树型拷贝”机制 ,那么更快的版本是可能的:从源代码复制到服务器A和B,然后从A复制到C和D,并从B复制到E和F等等。 C … / A / \ D … / source — E … \ / B \ F … 是否已经有一个工具,我可以提供的IP或主机名,它这样做有效的“树” – 复制? 或者一个简单的脚本,通过scp,pssh,sshfs或类似的方式吗?
我正在使用台式电脑的一些源文件。 源文件编译并在远程服务器上运行。 由于我和服务器之间有很大的延迟,我决定使用rsync将这些文件复制到我的电脑,编辑它们,然后再次使用rsync同步它们。 但是,有一个问题… rsync不会更新文件,当我在我的最后编辑它们后同步备份到服务器。 增量文件列表已发送,但文件内容未修改。 这里是我的bash会议的完整输出,将详细解释发生了什么。 我的本地机器上有一些文件。 我使用vim等编辑器编辑其中的一个文件。 文件结构相当通用。 我有一个名为2016-07-01的项目根目录,其中包含许多子文件夹和源文件。 该文件夹刚刚以date的forms命名为版本控制的一种方法。 (bash)的 $ rsync -av ./2016-07-01 user@server:./path-to-project/2016-07-01 user@server's password: [enter password] sending incremental file list 2016-07-01/subfolder/ 2016-07-01/subfolder/main.cpp sent 2,238 bytes received 272 bytes 557.78 bytes/sec total size is 632,957 speedup is 252.17 它看起来像main.cpp已经更新,但是当我ssh进入服务器,并用vim打开它,我看到它没有改变。 为什么发生这种情况? 然后我再次运行相同的命令,并产生以下输出… (bash)的 $ rsync -av ./2016-07-01 user@server:./path-to-project/2016-07-01 user@server's password: [enter […]
我有一个基于Debian Linux的服务器,它接受通过scp上传的文件,而这台服务器往往会不时突然断电。 如果在scp上传完成后立即断电,可能会导致上传的文件在下次恢复供电时显示被截断(或丢失)。 有没有办法强制sshd(或任何进程正在写入上传数据到磁盘…我认为这是sshd)上传完成时调用fsync(),以尽量减less数据丢失的机会,由于停电? 作为我正在寻找的那种东西的一个例子,这台服务器也接受通过Samba / CIFSfile upload,我发现添加以下行到我的smb.conf的[globals]部分有助于防止数据丢失那里: strict sync = yes sync always = yes 所以我正在寻找类似的东西,也许我可以把它放到/ etc / sshd_config中? 谢谢!
scp -i ~/.ssh/my_id_rsa -P 30000 some_file.gz [email protected]:/home/sshuser/ 它返回: scp:/some_file.gz: Permission denied rsa密钥文件是我用来通过SSH连接的文件(以及端口#和用户名和ip) 有什么突出的,可能会导致许可问题? UPDATE 我有iptables运行,我需要另一个入口为SCP或使用SSH协议? (愚蠢的问题,但只是确保在这里!) 我没有得到“连接拒绝”的错误,所以不知道这是否是问题。
我在vim中完成了大部分工作。 我更喜欢使用vim在本地编辑文件,而不是在服务器上运行vim并运行vim,原因很多,其中一个最重要的就是在慢速连接上的UI响应。 我知道我可以使用vim和scp编辑远程文件,而且我也有一个使用sshfs的设置,使我可以非常简单地cd到一个挂载点,然后vimfind一些文件。 但是,每次我保存文件,它都会把整个文件写到远程服务器上, 这真的减慢了我的工作stream程。 我真正想要做的是有这样的设置: 当使用本地vim打开一个远程文件时,拉取文件的内容和文件的散列 当保存文件时,检查远程哈希是否没有改变,如果没有改变,则上传一个diff并用新的修改修补远程文件。 最好通过一个持久的ssh连接来完成这个任务,这样每次都不会丢失时间。 这将更快,带宽效率更高,并具有相同的function。 我通常使用git或svn来实现类似的结果,但是当我没有使用这种SCM系统的奢侈品时,我真的希望有这种最小的function。 我的问题是: 1.有谁知道任何现有的脚本或程序会为我做一些或全部的这些? 2.任何人都在乎鞭打一些屁股,将做的伎俩? 我知道应该可以用这些几个做…
我需要一个cron作业来使用scp和kerberosvalidation跨服务器传输文件。 作业的系统用户在两台机器上的/ etc / passwd中,并且已经为Kerberosauthentication创build了一个有效的keytab(带有-randkey)。 cron作业脚本调用kinit,然后是scp,然后是kdestroy。 但是,除非将/ etc / passwd中的/ sbin / nologin更改为有效的shell(例如/ bin / bash),否则scp将无法工作。 问题1:这是一个安全漏洞来指定一个shell? 问题2:这是做到这一点的“正确”方法吗? 提前致谢
我有两个数据中心(一个在圣何塞,另一个在多伦多)的站点到站点VPN连接。 我需要发送一个32GB的文件从一个直stream到另一个 – 尽可能快。 我find了一个shell脚本,将32GB的文件拼接起来,然后使用scp以并行方式传输。 问题是如何确定通过站点到站点vpn连接发送各种小文件的最佳文件大小(我想尝试最大化带宽)。 很明显,我在服务器上运行的scp进程越多,我猜这台服务器上的负载就越多。
假设我有几十个甚至数百个服务器。 将文件的中央副本推送到给定目录到所有服务器的最佳方法是什么? 例如,我们更新一个bash脚本,并把它放在一个中央仓库。 然后,我们希望回购将更新的bash脚本自动推送到所有服务器。 还假设回购可以通过公钥ssh进入所有的服务器。 我知道我可以掀起一些被黑客攻击的shell脚本来循环访问服务器和scp列表,但是必须有更好的方法来pipe理这个脚本。 如何rysnc? 会喜欢一个GUI界面,就像添加服务器,然后简单地上传一个文件,然后将其分发到组中的所有服务器。 谢谢。