我正在尝试使用 ssh 从我的学校 Linux 帐户中获取一些文件。我已使用以下方式建立连接:
scp <school_server>: ~/folder I want ~/where I want to go
。
但是当它进入传输文件夹时它会给我以下消息:
not a regular file
该文件包含.java 文件,我想要整个文件夹。
答案1
要使用 scp 递归复制整个目录,您需要添加-r
开关
scp -r remotehost:/path/to/remote/dir/ /path/to/local/dir/
答案2
我有一个需要 PEM 连接的目的地,并且它还有不同的 SSH 端口。这对我来说非常有效:
例如将文件夹(及其子文件夹)从sourceserver
复制到targetserver
,运行此命令sourceserver
$ rsync -azu -e 'ssh -i ./pem_for_target_server.pem -p <port_number_for_target_server>' /folder/path/on/source [email protected]:/path/on/target/where/you/want/to/copy/folder/on/source/
(如果您获取了permissions are too open
pem 文件,请运行以下命令
chmod 400 ./pem_for_target_server.pem
:)