找回密码
 立即注册
首页 业界区 安全 如何使用SSH传输文件?

如何使用SSH传输文件?

丘奕奕 昨天 15:24
掌握SSH文件传输技术(无论是远程备份、服务器迁移还是日常管理)至关重要。其加密特性可保护数据免遭窃取或篡改,尤其在公共网络中,传统方法(如FTP)会暴露敏感信息。
许多用户因习惯而沿用过时的传输方式,却未意识到潜在风险。基于SSH的传输在保障强安全性的同时保持易用性——从数据库备份到配置文件均被加密,而操作流程依然简洁。
本文将指导您使用SSH传输文件,涵盖SCP和SFTP等工具,并提供Linux与Windows服务器间的实操步骤。掌握这些技术可提升数据安全性与管理效率。
1.jpg

一、什么是SSH?

SSH(Secure Shell)是一种加密网络协议,用于在不安全网络中建立计算机间的安全连接。通过SSH访问远程服务器时,所有通信(包括密码、命令和数据)均被加密,有效抵御窃听。
核心特性:

  • 加密通道:在公网中构建“安全隧道”,拦截者仅能获取加密乱码。
  • 密钥认证(更安全的方式):

    • 公钥:存储在服务器,类似门锁。
    • 私钥:保留在本地设备,绝不可共享,是解锁访问的唯一凭证。

密钥机制不仅提升安全性,还支持自动化任务(如定时备份脚本)。
应用场景:除远程登录外,SSH还支持端口转发、隧道代理及安全文件传输(SCP/SFTP),成为系统管理员的必备工具。
二、什么是SCP?

SCP(Secure Copy Protocol)是基于SSH的安全文件复制工具,多数Linux/macOS系统已预装,Windows用户可通过OpenSSH启用。
常用命令示例:

1. 上传本地文件至服务器:

scp /本地/文件路径 username@远程主机IP:/服务器/目标路径/
2. 从服务器下载文件:

scp username@远程主机IP:/服务器/文件路径 /本地/目标路径/
3. 服务器间直传文件(节省本地带宽):

scp usernameA@服务器AIP:/文件路径 usernameB@服务器BIP:/目标路径/
4. 递归传输目录(含子文件):

scp -r /本地/目录/ username@远程主机IP:/服务器/目标路径/
三、服务器间SSH文件传输步骤

1. 启用远程服务器的SSH服务

Linux(以Ubuntu为例):
  1. sudo apt-get update
  2. sudo apt-get install openssh-server   # 安装服务
  3. sudo systemctl start ssh                      # 启动服务
  4. sudo systemctl enable ssh                  # 设置开机自启
复制代码
Windows Server:

进入【设置】→【应用】→【可选功能】→ 添加功能 → 安装 OpenSSH服务器。
管理员身份运行PowerShell:
  1. Start-Service sshd
  2. Set-Service -Name sshd -StartupType Automatic  # 设置自启
复制代码
防火墙放行端口22(SSH默认端口)。
2. 使用SCP/SFTP传输文件


  • SCP:适合快速定向传输(命令见上文)。
  • SFTP:交互式操作,支持目录浏览:
  1. sftp username@远程主机IP    # 建立连接
  2. sftp> ls                                   # 列目录
  3. sftp> cd /目标目录                 # 切换路径
  4. sftp> get 文件名                    # 下载
  5. sftp> put 文件名                   # 上传
  6. sftp> exit                              # 退出
复制代码
四、常见问题解答

Q1: SSH传输的核心优势?

安全性:端到端加密,杜绝中间人攻击。
Q2: SCP与SFTP的区别?

SCP:速度快,适合简单复制任务。
SFTP:支持交互操作、权限管理,功能更丰富。
Q3: 如何实现自动化传输?

配置SSH密钥免密登录,结合cron(Linux)或任务计划程序(Windows)定时执行。
参考文章:如何使用SSH安全传输文件?


来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册