(我在虚拟机上运行 ubuntu 服务器 12.04)
我正在尝试将文件 (scp) 从我的笔记本电脑传输到虚拟机的目录之一。我尝试共享文件夹,但失败了。我有点网络新手。
我看了大约 20-30 页。这是一个:http : //www.howtoforge.com/moving-files-between-linux-systems-with-scp
我完全按照这些步骤操作。我的问题是,当我尝试使用 scp 时,它只是挂起。我也不确定在来宾操作系统中要配置哪个网络接口(eth0、eth1?)。另一个(重要的?)细节是 eth0 的 inet 地址是 10.0.2.15 而不是 192.168.xy
我启用了桥接适配器和仅主机适配器。笔记本电脑和来宾 VM 都安装了 openssh-server。我不知道此时该怎么办。
有没有更好的地方可以问这个?
我想通过我的家庭 WiFi 网络将文件从笔记本电脑复制到另一台机器(无头 TX2)。我的笔记本电脑和 TX2 都运行 Ubuntu 16.04,并且都有最新版本openssh-server
(1:7.2p2-4ubuntu2.4)。我已经设置了公钥身份验证,以便ssh tx2
无需密码即可登录 TX2。然而,运行scp -v test.txt tx2:~/test.txt
永远停止,直到我用 杀死它Ctl-C
。它在卡住之前打印的最后一行是debug1: Sending command: scp -v -t ~/test.txt
. 当我尝试scp
从另一个方向(从 TX2 到我的笔记本电脑)时,我遇到了同样的问题。sftp -v tx2
打印后以同样的方式卡住debug1: Sending subsystem: sftp
其他一些答案表明问题可能在于登录脚本打印到控制台。然而,我的.bashrc
TX2是Ubuntu默认的,即使我删除它,问题仍然存在。
所以,正如我所说,我有一个 VPS、Raspberry Pi 和一个计划,但我需要一些建议,所以就这样吧。
我有一个带有 prgmr.com 的 VPS,我已经启动并运行良好且流畅,没有任何问题。我还有一个新的 RaspberryPi 放在我的桌子上,我一边打字一边下载 Raspberrian。我的计划是在家里使用树莓派作为备份服务器,所以我的问题是:
您将如何通过 SSH 备份远程 Ubuntu VPS?
VPS 设置为 Web 服务器,但我想在 Pi 上设置一个 cron 作业,以便它可以自动登录到 VPS 并运行然后下载备份,以防万一我设法阻止了事情或发生了其他事情这导致我丢失数据。自然地,我希望这个备份包含所有内容,以便我可以快速恢复整个服务器,如果出现问题,所有这些都配置得很好。
您将如何运行这种备份?我想我必须编写某种 bash 脚本到 SSH 中,将所有相关文件压缩到 tar.gz 或类似文件中,然后通过 SCP 下载图像。
你对此有何看法?你会使用什么包等,你会如何配置它?VPS 上有一个 LAMP 堆栈,那么您打算备份哪些文件?它还安装了许多其他较小的程序,例如 GIT 和 ZendTools。
我使用以下命令通过我的家庭网络传输文件(当我必须传输大量文件时,我通常使用该tar
实用程序将它们存档):
scp -c blowfish [FILE] [USER]@[ADDRESS]:[PATH]
Run Code Online (Sandbox Code Playgroud)
将 500 Mb 的数据发送到另一台计算机大约需要 25 分钟。平均速度约为 600 KB/s。我认为绝对必须有一种方法可以使过程更快,因为我不相信我能够在不到 10 分钟的时间内轻松地从 Web 上提取 1 Gb 文件,但我无法获得 500 Mb文件在更短的时间内通过网络发送。
我可以通过以下方式从本地 scp 很好地删除:
scp trip3.csv pi@192.168.2.11:/home/pi/
Run Code Online (Sandbox Code Playgroud)
但是当我尝试对本地进行远程操作时,它说没有这样的文件或目录:
scp pi@192.168.2.11:/home/pi/trip3.csv /Users/andrew/Desktop
Run Code Online (Sandbox Code Playgroud)
当我尝试时,scp pi@192.168.2.11:/home/pi/image.jpg ~
它会询问我的远程密码并显示传输已通过,但我在本地计算机上找不到该文件。
有什么想法吗?
这就是我现在的位置:
步骤 1 - ssh 到远程主机
第 2 步 -sudo scp pi@192.168.2.11:image.jpg ~
这给出了这个回应:pi@192.168.2.11's password:
第 3 步 - 我输入正确的密码,它给出了这个: image.jpg 100% 163KB 162.7KB/s 00:00
第 4 步 - 在我做的本地机器上cd ~
,ls | grep image.jpg
它不提供任何输出,只是一个新的命令行
我有一个位于我通过调用创建的子目录中的文件列表find
:
for f in $(find . -name "myFile.txt"); do
echo "$f" >> filelist.txt;
done
Run Code Online (Sandbox Code Playgroud)
内容filelist.txt
如下:
./First/Path/To/File/myFile.txt
./Second/Path/To/File/myFile.txt
./Third/Path/To/File/myFile.txt
...
Run Code Online (Sandbox Code Playgroud)
现在我想将所有这些文件复制到远程计算机,以便将它们放在相应的文件夹中:
remoteComputerName:/some/root/directory/First/Path/To/File/myFile.txt
remoteComputerName:/some/root/directory/Second/Path/To/File/myFile.txt
remoteComputerName:/some/root/directory/Third/Path/To/File/myFile.txt
Run Code Online (Sandbox Code Playgroud)
但是,在远程计算机上,文件夹结构First/Path/To/File/
等还不存在,而且我不想复制整个目录,而只想复制其中的文件myFile.txt
。
我知道在本地计算机上这可以使用命令
while read p; do cp --parents $p /some/root/directory ; done < filelist.txt
Run Code Online (Sandbox Code Playgroud)
但是,对于使用scp
此选项的远程计算机--parents
不再起作用。另外rsync
如果缺少不会创建父目录。有人知道解决方案吗?
有一个奇怪的 scp 问题:
$ scp user@server.org:~/test.txt ./
Password:
\033H \033H \033H \033H \033H \033H \033H \033H \033H \033H \033H \033H \033H \033H \033H \033H \033H \033H \033H \033H
Run Code Online (Sandbox Code Playgroud)
密码没问题,但得到那个奇怪的 \033H 东西。并且文件不会传输。谁有想法?
是否可以在 SSH 终端中将文件夹目录复制到另一个目录中,该目录将共享大部分相同的文件夹名称/结构,但将具有唯一的文件。
在一个简单的例子中:
如果 FOLDER1 有 APP > CODE > COM > FILE 1
而 FOLDER2 有 APP > CODE > COM > FILE 2 THEME > BAH > FILE 3
是否可以将应用程序跨“应用程序”复制到“应用程序”,以便文件将填充现有文件夹,并且不存在的新文件夹将以相同的结构创建。
基本上,我正在尝试安装一个我通常会通过 FTP 安装的模块,但我只能通过 SSH 访问这个新服务器。
scp
在 ./app 中使用结果:目录不为空
我似乎无法让 SCP 日志(在服务器上)显示在任何地方。我搜索了很多页面,包括:
http://ubuntuforums.org/showthread.php?t=1789437
http://ubuntuforums.org/showthread.php?t=851891
我已经尝试过使用 OpenSSH 5.3 的 10.04(是的,EOL 等)和使用 OpenSSH 5.9 的 12.04,我启用了包括DEBUG3
in在内的所有级别的登录/etc/ssh/sshd_config
,并尝试了普通用户和 root,但对传输的文件一无所知(甚至是文件转移)显示了在任何日志SCP
。SFTP
即使没有启动LogLevel
to ,日志也会显示在 auth.log中VERBOSE
。
有什么我想念的吗?任何人都可以确认他们能够让 SCP 日志出现在某个地方吗?
谢谢
我用 ssh 登录到我们实验室的一台电脑上。我想从那里复制一个 .txt 到我家里的笔记本电脑。所以我做了:
root@hostname:/home/gsamaras/konstantis/cholesky# scp gsamaras@hostname.gr:konstantis/cholesky/o_755.txt /
o_755.txt 100% 23KB 22.6KB/s 00:00
root@hostname:/home/gsamaras/konstantis/cholesky# scp gsamaras@hostname.gr:konstantis/cholesky/o_755.txt /home/gsamaras
o_755.txt 100% 23KB 22.6KB/s 00:00
Run Code Online (Sandbox Code Playgroud)
通过两次尝试,我都找不到该文件。它去了哪里?而且,现在我认为其中应该存在两个,我不想留下任何剩菜。
这是我检查的内容:
gsamaras@gsamaras:~$ pwd
/home/gsamaras
gsamaras@gsamaras:~$ ls
Desktop Music Templates
Documents Pictures ubuntu_May_2015.zip
Downloads Public Videos
examples.desktop skype-ubuntu-precise_4.3.0.37-1_i386.deb
gsamaras@gsamaras:~$ ls /
bin dev initrd.img lib64 mnt root srv usr vmlinuz.old
boot etc initrd.img.old lost+found opt run sys var
cdrom home lib media proc sbin tmp vmlinuz
gsamaras@gsamaras:~$
Run Code Online (Sandbox Code Playgroud) 我正在使用带有虚拟机的 ubuntu 18.04 在远程 GPU 服务器中运行我的程序。我在 docker 中运行我的程序,我想将 docker 容器中的绘图文件传输到虚拟机中的本地文件目录。我曾经scp
将本地文件从虚拟机传输到docker容器,但现在我想将程序结果、绘图文件传输回虚拟机中的本地文件目录。我怎样才能在 Ubuntu 中做到这一点?任何想法?
这是我之前所做的:
scp -P 8080 ./Downloads/my_func.py uid@cumulus.nlp.stanford.edu:data
Run Code Online (Sandbox Code Playgroud)
对我来说,从本地到远程 docker 容器传输文件效果很好,但反向不起作用或者我在命令中犯了一些错误。
这是当前驻留在 docker 容器中的文件列表(来自 docker shell):
root@d3576359f9ac:/data# ls
cnn_mobnet.py cnn_ResNet50.py cnn_mobnet_v1.py
cnn.py cnn_mobnet_loss_curve.png cnn_00.py mobnet_test.py
Run Code Online (Sandbox Code Playgroud)
我的尝试:
我尝试复制cnn_mobnet_loss_curve.png
到虚拟机中的本地文件目录,但它不起作用:
scp data/cnn_mobnet_loss_curve.png :./Downloads
Run Code Online (Sandbox Code Playgroud)
我也尝试过docker cp data/cnn_mobnet_loss_curve.png :./Downloads
,但它给了我一个错误,说 docker 命令无法识别。任何想法?从 docker shell 中,如何将 docker 容器中的文件传输或复制到本地文件目录?任何想法?
我想将cnn_mobnet_loss_curve.png
当前的 docker 容器复制或传输到./Downloads
虚拟机中的位置。我怎样才能做到这一点?知道如何在 Ubuntu 中将文件从远程 docker 容器传输到本地吗?我如何从 Ubuntu 的终端执行此操作?任何想法?
scp ×11
ssh ×7
command-line ×2
networking ×2
server ×2
virtualbox ×2
16.04 ×1
backup ×1
bash ×1
copy ×1
docker ×1
logging ×1
remote ×1
rsync ×1