📅  最后修改于: 2023-12-03 15:25:20.613000             🧑  作者: Mango
在Shell-Bash中,要将本地文件上传到服务器,最常见的方法是使用scp命令。scp是secure copy的缩写,它提供了一种安全的方式将文件从本地电脑传输到远程服务器。
在大多数Linux系统中,scp已经预装了。如果您使用的是Windows系统,则需要先安装Windows上的Bash Shell。安装方法可以参考官方文档。
上传文件的基本语法如下所示:
scp /path/to/local/file username@remote:/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密钥进行认证。具体步骤如下:
在本地电脑上使用以下命令生成ssh密钥:
ssh-keygen
生成后会在~/.ssh目录下生成id_rsa和id_rsa.pub两个文件。
使用以下命令将公钥传至远程服务器:
ssh-copy-id username@remote
输入以上命令后,需要输入远程服务器的密码,然后公钥会被添加到远程服务器上。
现在,上传文件时就可以免去密码输入的烦恼了,示例命令如下所示:
scp /path/to/example.txt username@192.168.1.100:/path/to/folder
通过本文,我们学习了如何使用scp命令将本地文件上传到远程服务器。同时,我们还介绍了如何使用ssh密钥进行认证,以避免每次输入密码。无论您是从本地电脑上传文件到云服务器,还是从一台服务器向另一台服务器上传文件,都可以采用这种方法。