📌  相关文章
📜  将本地文件上传到服务器 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:25:20.613000             🧑  作者: Mango

将本地文件上传到服务器 - Shell-Bash

在Shell-Bash中,要将本地文件上传到服务器,最常见的方法是使用scp命令。scp是secure copy的缩写,它提供了一种安全的方式将文件从本地电脑传输到远程服务器。

安装scp

在大多数Linux系统中,scp已经预装了。如果您使用的是Windows系统,则需要先安装Windows上的Bash Shell。安装方法可以参考官方文档

上传文件

上传文件的基本语法如下所示:

scp /path/to/local/file username@remote:/path/to/remote/folder
  • /path/to/local/file:本地文件的路径。
  • username:远程服务器上的用户名。
  • remote:远程服务器的IP地址或域名。
  • /path/to/remote/folder:远程服务器上的文件目录路径。

例如,假设我有一个名为example.txt的文件,我想将它上传到远程服务器的/path/to/folder目录中,远程服务器的IP地址为192.168.1.100,用户名为username,则命令如下所示:

scp /path/to/example.txt username@192.168.1.100:/path/to/folder

如果输入以上命令后需要输入远程服务器的密码,输入正确的密码即可上传成功。

使用密钥登陆

对于经常需要上传文件的用户来说,每次都输入密码会很麻烦。一个更好的解决方案是使用ssh密钥进行认证。具体步骤如下:

  1. 生成ssh密钥。

在本地电脑上使用以下命令生成ssh密钥:

ssh-keygen

生成后会在~/.ssh目录下生成id_rsa和id_rsa.pub两个文件。

  1. 将公钥传至远程服务器。

使用以下命令将公钥传至远程服务器:

ssh-copy-id username@remote
  • username:远程服务器上的用户名。
  • remote:远程服务器的IP地址或域名。

输入以上命令后,需要输入远程服务器的密码,然后公钥会被添加到远程服务器上。

  1. 上传文件。

现在,上传文件时就可以免去密码输入的烦恼了,示例命令如下所示:

scp /path/to/example.txt username@192.168.1.100:/path/to/folder
总结

通过本文,我们学习了如何使用scp命令将本地文件上传到远程服务器。同时,我们还介绍了如何使用ssh密钥进行认证,以避免每次输入密码。无论您是从本地电脑上传文件到云服务器,还是从一台服务器向另一台服务器上传文件,都可以采用这种方法。