花糕

gerrit无change id以及macos无法执行scp解决方案,scp: Connection closed

483浏览 2024-7-2 软件教程 MA91459

错误:

近期为了做苹果app也是千方百计搞到了mac设备,结果发现提交公司代码时候报错,gerrit提交需要change id,这个id会由gerrit的commit msg hook进行自动生成,而hook的安装是通过scp下载下来的

而执行scp命令时报错:

subsystem request failed on channel 0

scp: Connection closed


原因:

经查阅,这是由于在 Apple 在 Ventura 中提供的 OpenSSH 9.0 中,SCP 协议已被弃用,取而代之的是 SFTP,而我们的gerrit并没有使用sftp,故而报错。


解决方法:

客户端方案:

在scp命令中加一个 -O 即可,大写英文字母o,这将允许使用已弃用的scp协议

服务端方案:

既然是apple调用sftp,只要服务端安装sftp即可,命令如下:

Subsystem sftp internal-sftp

如果您拥有服务器操作权限,这个是更好的方案,可以一劳永逸

未经作者允许,禁止转载
#apple #macos #scp #gerrit #sftp
19