要从一个服务器拷贝文件到另一个服务器,可以使用以下方法之一:
1.使用SCP命令:SCP是一中安全文件的文件传输协议,可在不同的Linux或Unix服务器之间安全传输文件,使用SCP命令可以将一个服务器复制到另一个服务器,例如,要将本地文件/path/to/local/file.txt复制到另一个服务器或者虚拟机中的/path/to/remote/,可以使用以下命令:
scp /path/to/local/file.txt UserName@HostName:/path/to/remote/
scp命令的可选参数:
-r:递归复制整个目录
-P:指定端口号
-p:保留文件的权限、时间等属性
-q:不显示复制的进度信息
2.使用SFTP命令:SFTP是基于SSH的安全文件传输协议。使用SFTP命令,可以在不同的服务器之间传输文件,例如,要将本地文件/path/to/local/file.txt复制到另一个服务器或者虚拟机中的/path/to/remote/,可以使用以下命令:
sftp Username@HostName
put /path/to/local/file.txt /path/to/remote/
3.使用rsync命令:rsync是一种快速、灵活的文件传输工具,可在不同服务器之间同步文件。使用rsync命令,可以将文件从一个服务器复制到另一个服务器。例如,要将本地件/path/to/local/file.txt复制到另一个服务器或者虚拟机中的/path/to/remote/,可以使用以下命令:
rsync -avzhe ssh /path/to/local/file.txt UserName@HostName:/path/to/remote/
username
是您要登录的远程服务器的用户名,hostname
是服务器的主机名或IP地址。执行此命令后,系统将提示您输入密码,验证后即可登录。
2.SSH(Secure Shell)命令:是一种加密的网络协议,它提供了一种安全的方式,使您能够在不同的计算机之间进行远程连接和管理。通过使用SSH命令,您可以在远程计算机上执行命令、传输文件以及进行安全的远程登录。SSH的加密特性使其成为保护数据和系统安全的理想选择。
一、参数列表
- -l <username> 指定登录的用户名
- -p <port> 指定远程SSH服务器端口(默认为22)
- -i <identity> 指定用于身份验证的私钥文件
- -C 启用压缩以加速数据传输
- -X 开启X11转发,允许远程显示GUI界面
- -L <local:remote> 创建本地端口转发
- -R <remote:local> 创建远程端口转发
二、SSH使用方法
1.链接远程服务器
ssh -l UserName HostName
username
是您要登录的远程服务器的用户名,hostname
是服务器的主机名或IP地址。执行此命令后,系统将提示您输入密码,验证后即可登录。
2.使用SSH密匙登录的方式:使用SSH密匙进行身份验证更加安全和方便,以下是SSH使用密匙对登录的步骤:
2.1 生成密匙对:在本地计算机上执行以下命令生成密匙对:
ssh -keygen -t rsa -b 4096 -f ~/.ssh/mySSHKey
(需要注意的是生成密匙对的时候让你输入一个口令,可以一直按回车跳过,否则这个密匙对是的使用也会需要口令,达不到我们想要的无需输入密码即可登录的目的)这将生成一个名为mySSHKey的RSA密匙对,保存在~/.ssh/目录下。
2.将以.pub结尾的公匙复制到远程服务器,替换UserName和HostName:
ssh-copy-id-i ~/.ssh/mySSHKey.pub UserName@HostName
3.修改SSH的配置文件
SSH的配置文件位于/etc/ssh/sshd_config
(服务器端)和~/.ssh/config
(客户端)。您可以通过修改这些文件来定制SSH的行为,如更改端口、禁用密码登录等。
在 /etc/ssh/sshd_config
(服务器端)中开启PubkeyAuthentication yes和AuthorizedKeyFile
4.现在即可使用私匙链接到服务器而无需密码:
ssh -i ~/.ssh/mySSHKey UserName@HostName