即使是小如只包含“ hello world ”的文本文件都不行,一上传就直接 broken pipe。小弟见识不多,有哪位大神能简单解释一下这是如何做到的?感谢大家!
给谷歌客服提了工单,也没给出什么建设性的建议,目前上传的方法是先从本地上传到谷歌的 Storage ,然后 ssh 到服务器上把文件从 Storage 下下来。。。
![]() | 1 xiaket 2019-01-24 06:11:28 +08:00 man 5 sshd_config 看下 Subsystem |
2 OldPanda OP @xiaket 看了下是这个样子的 ``` # override default of no subsystems Subsystem sftp /usr/lib/openssh/sftp-server ``` |
![]() | 3 xiaket 2019-01-24 06:24:03 +08:00 手边没有 gcp 的机器不方便测试了, 你的.bashrc/.bash_profile 最近可改过? |
![]() | 4 xiaket 2019-01-24 06:25:45 +08:00 顺便推荐下自己很早以前翻译的 scp 原理: https://blog.xiaket.org/2010/how-scp-protocol-works.html scp 协议本身很简单, 如果 ssh 能用, 那么 scp 应该能. |
5 Dragonish3600 2019-01-24 07:33:49 +08:00 最大的可能,是权限问题。。你 ssh 的帐号不是 root,你肯定是在往没有写入权限的目录传文件 |
8 OldPanda OP @ladypxy 并且,如果没有权限的话,报错应该是 Permission denied 而不是 Broken pipe |
![]() | 9 reus 2019-01-24 09:17:14 +08:00 可能通讯被干扰了 |
![]() | 10 chickplilita 2019-01-24 09:31:23 +08:00 mtu 吧,你们中间链路的 mtu 值比较小。 你 ping dst_ip -s 1600 试试,要是 1600 不行,1400 行,肯定是 mtu 的问题。 |
11 OldPanda OP @chickplilita 感谢建议,不过 1600 和 1400 都没问题 |
![]() | 12 chickplilita 2019-01-24 09:45:51 +08:00 @OldPanda #11 额,那就只能两端抓包,分析一下包才能看出原因了。 |
13 OldPanda OP @chickplilita 已经通过他们的 Storage 服务绕过这个问题了。。 |
14 cdlixucd 2019-01-24 09:55:02 +08:00 你什么客户端?我先把 public-key 上传到 GCE,然后通过 priavte-key 来做验证,可以上传啊 |
![]() | 15 ihciah 2019-01-24 16:59:32 +08:00 自己 scp 到自己试试先? |