Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 通过SSH属性传输文件夹的脚本_Linux_Ssh_Sh - Fatal编程技术网

Linux 通过SSH属性传输文件夹的脚本

Linux 通过SSH属性传输文件夹的脚本,linux,ssh,sh,Linux,Ssh,Sh,我想通过SSH将文件夹从客户端传输到服务器,也从服务器传输到客户端。文件夹的名称始终相同。在传输之前,我需要创建要覆盖的文件夹的备份。 所以我创建了两个sript,一个用于下载(servet-to-client),另一个用于上传(client-to-server) down_src.sh #!/bin/bash rm -rf ~/Projects/GeoPump/project_bk mv ~/Projects/GeoPump/project ~/Projects/GeoPump/projec

我想通过SSH将文件夹从客户端传输到服务器,也从服务器传输到客户端。文件夹的名称始终相同。在传输之前,我需要创建要覆盖的文件夹的备份。 所以我创建了两个sript,一个用于下载(servet-to-client),另一个用于上传(client-to-server)

down_src.sh

#!/bin/bash

rm -rf ~/Projects/GeoPump/project_bk
mv ~/Projects/GeoPump/project ~/Projects/GeoPump/project_bk
rsync --delete -azvv --rsync-path="mkdir -p ~/Projects/GeoPump/ && rsync" -e ssh pi@25.30.116.202:~/Projects/GeoPump/project ~/Projects/GeoPump/
up_src.sh

#!/bin/bash

ssh pi@25.30.116.202 'rm -rf ~/Projects/GeoPump/project_bk'
ssh pi@25.30.116.202 'mv ~/Projects/GeoPump/project ~/Projects/GeoPump/project_bk'
rsync --delete -azvv --rsync-path="mkdir -p ~/Progetti/GeoPump/ && rsync" -e ssh ~/Projects/GeoPump/project pi@25.30.116.202:~/Projects/GeoPump/
例如,当我运行_src.sh时,我需要插入三次服务器密码

andrea@andrea-GL552VW:~/Projects/GeoPump$ sudo ./up_src.sh 
pi@25.30.116.202's password: 
pi@25.30.116.202's password: 
opening connection using: ssh -l pi 25.30.116.202 "mkdir -p ~/Projects/GeoPump/ && rsync" --server -vvlogDtprze.iLsfx --delete . "~/Projects/GeoPump/"  (10 args)
pi@25.30.116.202's password: 
sending incremental file list
现在我的问题是:

这样做正确吗


是否有人可以建议我如何在不多次插入密码的情况下创建这些脚本?

要使up_src.sh脚本正常工作,您必须确保25.30.116.202上的用户具有权限,而不使用
。&&&sudorsync

“down\u src.sh运行良好,而up\u src.sh运行不正常。”第二个脚本如何失败?它做什么或不做什么?你收到了什么错误消息?@Kenster你是对的。我编辑了这篇文章。你说所有命令都没有效果?你能运行ssh-vvv吗pi@25.30.116.202“rm-rf~/Projects/GeoPump/project_bk”交互?请注意“-vvv”选项以生成详细输出。如果有效,请尝试下一个命令和下一个命令,直到找到挂起的命令。如果命令挂起,您的问题是包含详细的ssh输出。@Kenster正如您在上面所看到的,这个问题似乎源于身份验证,但我不明白为什么(我是ssh密钥身份验证的新手)如果您以前从未使用ssh连接到远程系统,“Authentity”消息是正常的。您说下载脚本工作正常,即使它使用ssh连接到远程系统。您是否以正常运行这些脚本的用户身份运行测试?