Linux

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > Linux > 服务器间实现scp免密文件传输

服务器间如何实现scp免密文件传输

作者:老司机张师傅

文章介绍了如何在本地电脑或源服务器上生成SSH密钥,并将其复制到远程服务器上,以实现免密码登录,此外,还介绍了如何使用SCP命令在本地和远程服务器之间传输文件

1. 生成SSH密钥

在本地电脑或源服务器上生成SSH密钥。

打开终端或命令行界面,运行以下命令:

ssh-keygen

根据提示,设置密钥保存的路径和密码等信息,一路回车则表示不需要密码。

默认情况下,密钥保存在~/.ssh/id_rsa文件中。

2. 复制公钥到远程服务器

使用以下命令将本地电脑或源服务器上生成的公钥复制到目标服务器上:

ssh-copy-id user@target_server

其中,user是目标服务器上的用户名,target_server是目标服务器的IP地址或域名。执行该命令后,系统会提示您输入目标服务器的密码。

在输入密码后,系统会将本地电脑或源服务器上的公钥自动复制到目标服务器上的~/.ssh/authorized_keys文件中。

如果您无法使用ssh-copy-id命令,您也可以手动将公钥复制到目标服务器上。

您可以使用以下命令查看本地电脑或源服务器上的公钥:

cat ~/.ssh/id_rsa.pub

复制输出结果中的公钥字符串,然后登录到目标服务器上,使用以下命令将公钥添加到目标服务器上的~/.ssh/authorized_keys文件中:

echo "公钥字符串" >> ~/.ssh/authorized_keys

注意,将公钥添加到authorized_keys文件时,需要确保该文件存在,如果该文件不存在,请先创建该文件。

通过上述步骤,您可以将本地电脑或源服务器上的SSH公钥复制到远程服务器上,以实现免密码登录。

3. SCP文件传输

scp /path/to/file user@target_server:/path/to/destination

其中,/path/to/file是要传输的文件路径,user是目标服务器上的用户名,target_server是目标服务器的IP地址或域名,/path/to/destination是文件传输到目标服务器上的路径。

示例:

scp /path/to/file root@192.168.248.13:/path/to/destination

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文