如何将软件包上传到 Linux 服务器
核心准备工作
-
服务器信息确认
- 获取服务器的 IP 地址 或域名(如
168.1.100
或example.com
)。 - 确认 SSH 端口号(默认
22
,若自定义需记录)。 - 准备登录账号:通常是
root
或具有sudo
权限的普通用户(如ubuntu
)。
- 获取服务器的 IP 地址 或域名(如
-
本地环境准备
- 本地操作系统:Windows/macOS/Linux 均可。
- 必要工具(任选其一):
- OpenSSH(Linux/macOS 内置,Windows 10+ 支持)
- FileZilla(图形化工具)
- WinSCP(Windows 专用)
-
软件包要求
- 格式支持:
.tar.gz
,.zip
,.deb
,.rpm
等。 - 路径检查:确认服务器上的目标目录(如
/opt/
或~/packages/
)是否存在(可通过mkdir -p /目标路径
创建)。
- 格式支持:
4 种主流上传方法详解
方法 1:SCP 命令(推荐)
适用场景:快速传输单个文件,无需交互界面。
操作步骤:
# 基础语法 scp -P [端口] [本地文件路径] [用户名]@[服务器IP]:[服务器目标路径] # 示例:将本地的 nginx.tar.gz 上传到服务器的 /opt/ 目录 scp -P 22 ~/Downloads/nginx.tar.gz root@192.168.1.100:/opt/ # 上传整个目录(加 -r 参数) scp -r -P 22 ~/project_folder/ ubuntu@example.com:/home/ubuntu/
注意:若使用默认端口 22
,可省略 -P
参数。
方法 2:SFTP(安全文件传输)
适用场景:需交互式操作(查看/删除/批量上传)。
操作步骤:
- 连接服务器:
sftp -P 2222 user@192.168.1.100 # 非默认端口时指定 -P
- 常用命令:
put [本地文件]
→ 上传文件mput *.deb
→ 批量上传.deb
文件cd /target_dir
→ 切换服务器目录ls
→ 查看当前目录exit
→ 退出
方法 3:rsync(增量同步)
适用场景:大文件或需增量更新时(仅传输修改部分)。
操作步骤:
# 同步本地目录到服务器(保留权限) rsync -avz -e "ssh -p 22" ~/packages/ user@server:/backup/ # 参数说明: # -a:归档模式(保留属性) # -v:显示进度 # -z:压缩传输
方法 4:图形化工具(FileZilla)
适用场景:适合不熟悉命令行的用户。
操作步骤:
- 下载安装 FileZilla。
- 顶部输入栏填写:
- 主机:
sftp://192.168.1.100
(必须加sftp://
前缀) - 用户名/密码:服务器凭证
- 端口:
22
- 主机:
- 拖拽本地文件到右侧服务器目录即可上传。
上传后验证与管理
-
检查文件完整性
# 登录服务器 ssh user@192.168.1.100 # 检查文件是否存在 ls -l /opt/nginx.tar.gz # 校验哈希值(对比本地值) sha256sum /opt/nginx.tar.gz
本地生成哈希值命令:
- Linux/macOS:
sha256sum 文件路径
- Windows:
CertUtil -hashfile 文件路径 SHA256
- Linux/macOS:
-
解压与安装
# 解压 .tar.gz tar -xzvf /opt/nginx.tar.gz -C /目标目录/ # 安装 .deb 包(Debian/Ubuntu) sudo dpkg -i package.deb # 安装 .rpm 包(CentOS/RHEL) sudo rpm -ivh package.rpm
安全与故障处理
- 权限问题:
- 错误提示
Permission denied
→ 用sudo
执行命令,或检查目录权限:sudo chown -R user:user /目标目录/ # 修改属主 sudo chmod 755 /目标目录/ # 开放读写权限
- 错误提示
- 连接失败排查:
- 检查防火墙:
sudo ufw status
(Ubuntu)或firewall-cmd --list-ports
(CentOS)。 - 确认 SSH 服务运行:
sudo systemctl status sshd
。
- 检查防火墙:
- 安全建议:
- 禁用
root
远程登录,改用普通用户 +sudo
。 - 使用 SSH 密钥认证(比密码更安全)。
- 禁用
总结建议
- 推荐方式:
- 命令行用户 → SCP/rsync(高效安全)
- 图形界面用户 → FileZilla(操作直观)
- 关键原则:
- 始终通过 SSH 加密通道(SCP/SFTP/rsync)传输,避免使用明文 FTP。
- 生产环境优先使用
rsync
减少网络开销。
引用说明:本文操作基于 OpenSSH 8.9、FileZilla 3.66 及主流 Linux 发行版(Ubuntu 22.04/CentOS 7),安全规范参考 NIST 800-123 指南。
原创文章,发布者:酷盾叔,转转请注明出处:https://www.kd.cn/ask/24965.html