普通网友 2025-11-19 13:55 采纳率: 98.4%
浏览 1
已采纳

如何在Windows上传文件到CentOS?

如何在Windows系统中安全高效地将文件上传到远程CentOS服务器?常见方式包括使用SCP、SFTP命令行工具或图形化软件如WinSCP、FileZilla等。但用户常遇到连接失败、权限不足、SSH服务未启用等问题。特别是在防火墙限制或SELinux策略开启的环境中,文件传输易受阻。如何配置SSH服务、正确使用公私钥认证,并确保网络连通性与端口开放(默认22),是实现稳定传输的关键。
  • 写回答

2条回答 默认 最新

  • 宝码香车 优质创作者: JavaScript技术领域 2025-11-19 14:50
    关注

    让【宝码香车】来帮您解答,本回答参考DeepSeek编写,并整理提供。

    如果答案能帮助您,请采纳,非常感谢!
    .
    每日一句正能量,让它带给您好心情:即使走得很慢,只要不后退,就是在前进。
    .

    在Windows系统中向CentOS服务器传输文件,有多种稳定可靠的方法。以下是具体方案和常见问题解决方案:

    一、命令行工具传输

    1. SCP(安全复制协议)

    # 基本语法
    scp [本地文件路径] [用户名]@[服务器IP]:[远程路径]
    
    
    # 示例:上传单个文件
    scp C:\Users\user\document.txt root@192.168.1.100:/home/user/
    
    
    # 上传整个目录
    scp -r C:\Users\user\project root@192.168.1.100:/var/www/
    
    
    # 指定非默认端口
    scp -P 2222 file.txt root@192.168.1.100:/tmp/
    

    2. SFTP(安全文件传输协议)

    # 连接SFTP
    sftp root@192.168.1.100
    
    
    # SFTP交互命令
    sftp> put C:\Users\user\file.txt /home/user/    # 上传文件
    sftp> put -r C:\Users\user\folder /home/user/  # 上传目录
    sftp> ls                                      # 查看远程目录
    sftp> lls                                     # 查看本地目录
    sftp> exit                                    # 退出
    

    二、图形化工具

    1. WinSCP(推荐)

    1. 新建会话
    2. 主机名:服务器IP地址
    3. 用户名:root或普通用户
    4. 密码/私钥文件认证
    5. 端口:22(默认)或自定义端口

    2. FileZilla

    三、SSH服务配置与认证

    1. 检查CentOS SSH服务状态

    # 检查SSH服务状态
    systemctl status sshd
    
    
    # 启动SSH服务
    systemctl start sshd
    
    
    # 设置开机自启
    systemctl enable sshd
    

    2. 配置SSH密钥认证

    # Windows生成密钥对(使用Git Bash或WSL)
    ssh-keygen -t rsa -b 4096
    
    
    # 将公钥上传到CentOS
    ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.1.100
    
    
    # 或者手动复制
    scp ~/.ssh/id_rsa.pub root@192.168.1.100:~/.ssh/authorized_keys
    

    四、常见问题解决方案

    1. 连接失败排查

    # 测试网络连通性
    ping 192.168.1.100
    
    
    # 测试端口连通性
    telnet 192.168.1.100 22
    
    
    # 详细SSH连接调试
    ssh -vvv root@192.168.1.100
    

    2. 防火墙配置

    # CentOS 7/8 防火墙配置
    firewall-cmd --permanent --add-service=ssh
    firewall-cmd --reload
    
    
    # 或者直接开放端口
    firewall-cmd --permanent --add-port=22/tcp
    firewall-cmd --reload
    

    3. SELinux问题处理

    # 检查SELinux状态
    sestatus
    
    
    # 临时禁用
    setenforce 0
    
    
    # 或永久禁用(编辑配置文件)
    vi /etc/selinux/config
    # 修改为:SELINUX=disabled
    

    4. 权限问题

    # 确保目标目录有写入权限
    chmod 755 /home/user/upload
    chown user:user /home/user/upload
    
    
    # 检查磁盘空间
    df -h
    

    五、安全建议

    1. 修改默认SSH端口
    # 编辑SSH配置
    vi /etc/ssh/sshd_config
    # 修改:Port 2222
    
    1. 禁用root登录
    # 在sshd_config中设置
    PermitRootLogin no
    
    1. 使用强密码或密钥认证

    六、性能优化

    • 大文件传输使用rsync进行增量传输
    • 启用SSH压缩:scp -C
    • 调整SSH加密算法以提高速度

    通过以上方法,您可以安全高效地在Windows和CentOS之间传输文件。建议优先使用SCP/SFTP命令行工具或WinSCP图形界面,并根据实际环境进行相应的网络和权限配置。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 已采纳回答 11月20日
  • 创建了问题 11月19日