travis-ci中OSX和Linux ssh的区别?

时间:2017-02-05 05:47:33

标签: macos ssh travis-ci

我有一个小的shell脚本,我在Linux和OS-X travis实例上使用scp将工件scp到服务器(akamai)我没有shell访问权限(无法查看日志)然后更改名称(通过ssh命令)。

但是 - 它在Linux上运行良好,并且不适用于OSX。 akamai服务器正在运行SSH-1.99-Server-VIII-hpn14v2。

例如,即使是简单的事情:

ssh user@remote 'ls -l'

......有问题。

当事情在linux上运行时,它运行正常(从ssh -vvv输出)(send命令之间没有任何有趣的debug3消息,以及使用这些版本的ssh的响应)。

OpenSSH_5.9p1 Debian-5ubuntu1.10, OpenSSL 1.0.1 14 Mar 2012
[snip]
debug1: Sending command: ls -l
debug2: channel 0: request exec confirm 1
debug2: callback done
debug2: channel 0: open confirm rwindow 0 rmax 32768
debug2: channel 0: rcvd adjust 2097152
debug2: channel_input_status_confirm: type 99 id 0
debug2: exec request accepted on channel 0
drwxrwxr-x rgetz4trav  storage            0 Feb 05 16:44 336936
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug1: client_input_channel_req: channel 0 rtype eow@openssh.com reply 0

当事物从OS-X运行时,它永远不会看到响应。

OpenSSH_6.2p2, OSSLShim 0.9.8r 8 Dec 2011
[snip]
debug1: Sending command: ls -l
debug2: channel 0: request exec confirm 1
debug2: callback done
debug2: channel 0: open confirm rwindow 0 rmax 32768
debug2: channel 0: rcvd adjust 2097152
debug2: channel_input_status_confirm: type 99 id 0
debug2: exec request accepted on channel 0
debug2: channel 0: read<=0 rfd 6 len 0
debug2: channel 0: read failed
debug2: channel 0: close_read
debug2: channel 0: input open -> drain
debug2: channel 0: ibuf empty
debug2: channel 0: send eof
debug2: channel 0: input drain -> closed
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0
debug2: channel 0: rcvd eof

我环顾四周 - 并且无法弄清楚有什么不同。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我认为最终的答案是ssh和akamai上的scp兼容性已知问题,因此我需要放弃ssh / scp并切换到sftp(可行)。

文档声明:&#34;各种协议特定限制可能存在&#34;。