最近发现,在sshd_config文件中注释了以下行,但是winscp仍旧可以连接并传输文件
Subsystem sftp /usr/libexec/openssh/sftp-server
于是绝对对这个东西进行一下简单了解。
测试如下:
一、开启sftp,使用winscp传输文件
测试结果:传输正常
二、关闭sftp,使用winscp传输文件
测试结果:传输正常
三、关闭sftp,同时修改linux服务器上的scp文件权限
chmod 700 /usr/bin/scp
测试结果:连接正常,无法传输文件
四、开启sftp,同时700 scp权限
测试结果:传输正常
五、查看winscp官网document,并没有发现具体说明,但是官网明确支持以下五种方式
SFTP (SSH File Transfer Protocol);
FTP (File Transfer Protocol);
SCP (Secure Copy Protocol);
WebDAV (Web Distributed Authoring and Versioning);
S3 (Amazon S3).
六、结论:
虽然不知道winscp的具体协议使用方法,但是从基本的测试可以判断
1、连接使用ssh协议,并对账户信息进行保存封装
2、在sftp和scp协议中优先使用sftp传输(只是猜测,在winscp连接时在log中有sftp协议的判断)
3、当sftp协议不可用时,使用scp协议传输
四、如果有其他协议采用了统一的账户认证(pam),那么winscp将会切换其他协议尝试。
网友留言: