6月 28, 2022 - Linux, php开发    ascp:Failed to open TCP connection for SSH, Exiting.已关闭评论

ascp:Failed to open TCP connection for SSH, Exiting.

使用IBM的aspera传输出现的问题:

服务器方面:

1:打开防火墙对33001端口的限制:

命令如下:

iptables -I INPUT -p tcp –dport 33001 -j ACCEPT

iptables -I OUTPUT -p tcp –dport 33001 -j ACCEPT

2:ssh的端口号增加33001

sudo vi /etc/ssh/sshd_config

代码层面:

php运行exec();

转发到了liunx去执行,当命令没有设置超时时间时会一直挂在后台,

还有aspera默认最多同时上传3个文件

所以需要在命令执行时加个超时时间,到了超时时间kill掉这个进程

此为上传时执行的命令示例:

timeout -k 1 10表示命令最多运行10s,如10s后未运行结束表示超时,在超时1s后强制把进程杀死

-T: 取消加密,否则有时候数据下载不了

-k: 断点续传,一般设置为值1 

-o:Use the specified UDP port for FASP transfers. (Default: 33001)

–overwrite=always

-l:最大传输速度:500M,根据实际带宽填写

参数命令官方地址:https://www.ibm.com/docs/en/aci/3.9.2?topic=ascp-command-reference


$aspera_exec = "timeout -k 1 10 /Users/zhouxiaokun/Applications/Aspera/bin/ascp -P 33001 -T -k 0 -o Overwrite=always -l 500m -i /Users/zhouxiaokun/Desktop/code/backend/storage/app/26/2/78/aspra/44/ee71d3b0519011eca04500163e1a34f6.key /Users/zhouxiaokun/Desktop/code/backend/README.md asp-8sianaffiliate@asia.aspera.googleusercontent.com:/staging/distributions/863/ccATjCiRQU9UtBTgh6XjXZRVM5shVrMx/ 2>&1";

Log::debug($aspera_exec);

exec($aspera_exec, $output, $status_code);

Log::info('execStatusCode:'.$status_code);

Log::info($output);

dd($status_code, $output);

 

参考解决问题地址:

https://stackoverflow.com/questions/59763831/aspera-error-ascp-exe-failed-to-open-tcp-connection-for-ssh-exiting

https://www.jianshu.com/p/df34b99cbd43

https://blog.csdn.net/wzygis/article/details/112666514

评论被关闭。