轻松搞定Linux服务器间文件传输,超简单超方便,你还在等什么


使用SSH进行文件传输

1. 安装SSH客户端:首先确保你的Linux服务器已经安装了SSH客户端。如果没有,可以通过包管理器安装,例如在基于Debian的系统上使用`apt-get install openssh-server`,在基于RHEL的系统上使用`yum install openssh-server`。

2. 配置SSH服务:在服务器上设置SSH服务,允许远程连接。默认情况下,SSH服务是开启的,但为了安全起见,建议关闭不需要的服务。

3. 创建SSH密钥对:在本地计算机上生成一个SSH密钥对,并复制到服务器上。这将用于身份验证,而不是密码。

4. 配置SSH免密码登录:在服务器上编辑`/etc/ssh/sshd_config`文件,添加或修改以下行以启用免密码登录:

PubkeyAuthentication yes

HostbasedAuthentication no

PasswordAuthentication no

5. 启动SSH服务:保存更改后,重启SSH服务以应用新的配置:

sudo systemctl restart sshd

6. 测试SSH连接:使用SSH客户端连接到服务器,输入之前在本地计算机上生成的SSH密钥对,如果成功,将看到提示输入密码或确认密钥。

7. 使用SCP或rsync传输文件:一旦你能够通过SSH无密码登录,就可以使用SCP或rsync来传输文件了。

- SCP(secure copy):使用`scp [options] [local-file] [remote-user@]remote-host:remote-path`命令。例如:`scp localfile user@remotehost:/path/to/remotefile`。

- rsync:使用`rsync [options] [local-file] [remote-user@]remote-host:remote-path`命令。例如:`rsync -av localfile user@remotehost:/path/to/remotefile`。

使用rsync进行文件传输

1. 安装rsync:在服务器上安装rsync,通常通过包管理器完成。

2. 配置rsync:在服务器上编辑`/etc/rsyncd.conf`文件,设置如日志级别、同步周期等参数。

3. 启动rsync服务:保存更改后,重启rsync服务以应用新的配置:

sudo systemctl restart rsyncd

4. 测试rsync连接:使用rsync客户端连接到服务器,输入之前在服务器上生成的rsync密钥,如果成功,将看到提示输入密码或确认密钥。

5. 使用rsync传输文件:一旦你能够通过rsync无密码登录,就可以使用rsync来传输文件了。

- 使用`rsync [options] [local-file] [remote-user@]remote-host:remote-path`命令。例如:`rsync -av localfile user@remotehost:/path/to/remotefile`。

注意事项

- 确保你的SSH和rsync服务都运行在防火墙规则中,以便它们可以访问网络。

- 对于敏感数据,考虑使用SFTP(SSH File Transfer Protocol)代替SCP,因为它提供了更好的安全性。

- 定期更新你的SSH和rsync密钥对,以防止未经授权的访问。

- 使用强密码和加密传输协议(如SSH和SFTP)来保护你的文件传输过程。

通过上述步骤,你可以有效地在Linux服务器之间传输文件,而无需担心安全问题。