执行scp命令遇subsystem request failed on channel 0报错怎么解决?
解决scp报错"subsystem request failed on channel 0"的方案
排查及解决步骤
检查远程服务器的SSH子系统配置
登录远程服务器192.168.0.122,编辑/etc/ssh/sshd_config文件,确认存在未被注释的Subsystem sftp /usr/lib/openssh/sftp-server行(不同系统路径可能不同,比如CentOS为/usr/libexec/openssh/sftp-server)。若该行缺失或被注释,取消注释/添加后,重启SSH服务:sudo systemctl restart sshd或根据系统使用:
sudo service sshd restart确认远程服务器已安装scp工具
登录远程服务器执行scp --version验证。若未安装,按系统类型安装:- Debian/Ubuntu:
sudo apt install openssh-client - RHEL/CentOS:
sudo yum install openssh-clients
- Debian/Ubuntu:
改用sftp命令传输文件
若scp子系统无法正常工作,替换为sftp命令实现相同传输:sftp -P 29418 michealvern.genzola@192.168.0.122:/hooks/commit-msg jyei-erp/.git/hooks/修复sftp-server文件权限
检查远程服务器上sftp-server的权限,确保为755:chmod 755 /usr/lib/openssh/sftp-server(路径需对应实际系统的sftp-server位置)
内容的提问来源于stack exchange,提问作者Michael Vern
相关产品推荐
相关产品推荐

