⚙️
sftp を叩いたら Connection closed Connection closed と出た時の解決策
発生した問題
研究室のPCから,sftp を用いてファイルを落とそうとしたときに,このようなエラーが発生.
ssh は普通につながるし,他のリモートサーバから sftp することは可能であった.
Nafmo@desktop-pc:~$ sftp lab
Connection closed.
Connection closed
OS: Ubuntu 22.04.5 LTS (remote)
解決策
/etc/ssh/sshd_config の中にある Subsystem sftp /usr/libexec/sftp-server のパスを /usr/lib/openssh/sftp-server へ 書き換える
/etc/ssh/sshd_config
# override default of no subsystems
# Subsystem sftp /usr/libexec/sftp-server # <- NotFound
Subsystem sftp /usr/lib/openssh/sftp-server
設定を読み込ませるための再起動を忘れずに.
sudo systemctl restart ssh
※もちろん原因が他にある場合も想定されます.あくまでこれで解決する場合があるかも?位に思っていただければと思います.
原因
sshd_config が指定した sftp-server のパスの先に実態が存在しなかった.それは無理ですよね...
解決までの試行錯誤記録(おまけ)
sftp -v lab をしたとき,Exit status 127 と出た.
参考文献,2番目の記事でこんな記載を見つけたことから,パス周りを怪しみました.
Exit status 127 is command not found.
sshd_config を眺めた際,/usr/libexec/sftp-server がないことに気づきました.その代わりとなる,sftp-server の位置を探して解決できました.やったね!
細かな部分はわかっていないので,補足など是非コメントいただけると嬉しいです.
解決までに読んだ文献
直接役立ってないものもあるかもです.
Discussion