CentOS SFTP客户端如何选择与配置
CentOSSFTP客户端选择与配置
一客户端选择与适用场景
本地图形化客户端(Windows/macOS/Linux)
WinSCP:面向文件管理的图形化SFTP客户端,上手快,适合日常上传下载与简单目录同步。
FileZillaClient:老牌跨平台FTP/SFTP工具,站点管理完善,适合需要可视化传输与批量任务的用户。
Termius:现代化的跨平台终端,支持SSH与SFTP会话、密钥管理、分屏等,适合命令行与轻量文件操作一体化场景。
命令行客户端(Linux/Unix自带)
OpenSSHsftp:系统自带,适合脚本化、自动化与服务器间传输;配合密钥登录可实现无人值守。
以上工具均为常用、稳定方案,可按“是否需要图形界面/是否要集成终端/是否要自动化”来选用。
二命令行SFTP快速上手
基本连接
格式:
sftp[user@]host[:port];示例:
sftp-oPort=22sftpuser@192.0.2.10
常用命令:
pwd(远端当前目录)、
lpwd(本地当前目录)、
ls/
lls(远端/本地列目录)、
put<本地文件>(上传)、
get<远端文件>(下载)。
密钥登录与免密
生成密钥:
ssh-keygen-trsa-b4096
分发公钥:
ssh-copy-iduser@server_ip
服务端开启密钥认证:在
/etc/ssh/sshd_config确保
PubkeyAuthenticationyes与
AuthorizedKeysFile.ssh/authorized_keys已启用,重启
sshd生效。
客户端简化连接:编辑
~/.ssh/config
HostmysftpHostName192.0.2.10UsersftpuserPort22IdentityFile~/.ssh/id_rsaPreferredAuthenticationspublickeyPasswordAuthenticationno之后可直接执行:
sftpmysftp实现免密登录。
权限与目录要点
使用密钥时,私钥权限应为600:
chmod600~/.ssh/id_rsa,否则SSH会拒绝使用密钥。
三图形化客户端配置要点
WinSCP
新建站点→文件协议选SFTP→填写主机名/IP、端口22、用户名→登录方式选“密码”或“私钥”(支持导入ppk/OpenSSH私钥)→保存并登录。
FileZillaClient
站点管理器→协议选SFTP-SSHFileTransferProtocol→填写主机、端口22、登录类型(正常/密钥)→如用密钥,选择私钥文件→连接。
Termius
添加主机(别名、地址、端口22)→选择认证方式(密码或密钥)→保存后进入终端;需要时可在会话中直接进行SFTP文件操作或配合系统sftp命令。
四常见故障排查
连接被拒绝或超时
确认sshd已运行:
systemctlstatussshd;如未运行:
systemctlstartsshd&&systemctlenablesshd
防火墙放行22/TCP:
firewall-cmd--permanent--add-port=22/tcp&&firewall-cmd--reload
服务器是否仅监听内网或改了端口,需对应调整客户端地址与端口。
认证失败
密码错误:核对用户名/密码或改用密钥登录。
密钥不被接受:检查
~/.ssh/authorized_keys权限为600,目录
~/.ssh为700;服务端
PubkeyAuthenticationyes已启用;私钥本地权限600。
目录不可写或Chroot失败
使用ChrootDirectory时,该目录必须由root:root拥有且权限为755;可写目录应放在其下并交给相应用户,例如:sudomkdir-p/sftp/datasudochownroot:root/sftpsudochmod755/sftpsudomkdir/sftp/datasudochownsftpuser:sftp/sftp/data
服务端典型配置片段(在
/etc/ssh/sshd_config末尾):
MatchUsersftpuserChrootDirectory/sftpForceCommandinternal-sftpAllowTcpForwardingnoX11Forwardingno修改后重启
sshd:
systemctlrestartsshd
SELinux干扰
如启用SELinux且出现权限异常,可临时
setenforce0验证;生产环境建议通过
semanage等工具设置正确上下文,而非长期关闭SELinux。

