Linux服务器之间使用scp命令文件互传

1、首先了解一下scp命令是什么以及用法?

        scp命令是Secure Copy的缩写,是用于在不同主机之间进行文件传输的命令。cp是本机复制文件,scp就是基于ssh加密远程拷贝,它可以通过加密的方式安全地将文件从一个主机复制到另一个主机。scp命令在Linux和Unix系统中常用。

常用选项包括:

  • -r:递归复制整个目录。
  • -P:指定端口号。
  • -p:保留原始文件的时间戳和权限信息。
  • -i:使用指定的身份验证文件。

示例用法:

    1.1从本地复制文件到远程主机:

scp /data/localfile.text user@remotehost:/data/remotefile
  1. 2从远程主机复制文件到本地:
scp user@remotehost:remotefile.text /localfile/
  1. 3从本地复制整个目录到远程主机:
scp -r localdir user@remotehost:remotedir

2、解决远程传输时权限被拒绝

root@test:~# scp /data/test.txt root@12.11.13.34:/tmp/
Permission denied (publickey).
lost connection

使用scp命令如果有以上的提示,就是没有权限,需要开启权限;

解决方案:

2.1.配置sshd_config文件

登录远程服务器,将/etc/ssh/sshd_config文件中的PasswordAuthentication no 改为PasswordAuthentication yes

该完配置之后,用以下命令,重启一下sshd服务

root@GGGG:~# systemctl restart sshd

到这一步为止 ,两台服务器之间可以使用scp命令互相传文件了,但是还是需要输入root密码;

比如有时候不知道root的密码,例如是通过一些堡垒机跳板机之类的登录服务器的,这些时候就不知道root的密码;这个时候就通过设置公钥私钥实现免密传输。

3、通过设置公钥私钥实现免密传输

3.1生成公钥和私钥

执行以下命令,一直回车就行

root@GGG:~# ssh-keygen -t rsa

命令执行完毕后会在目录~/.ssh/产生两个文件,id_rsa,id_rsa.pub,这是生成一个RSA密钥对,并将私钥保存在 ~/.ssh/id_rsa 文件中,将公钥保存在 ~/.ssh/id_rsa.pub 文件中。

3.2拷贝公钥到远程服务器

拷贝本机服务器id_rsa.pub文件拷贝到B服务器的root用户目录下的.ssh目录下,并且改名为authorized_keys 。(若远程服务器已存在authorized_keys文件,只需要拷贝本地服务器id_rsa.pub文件内容到远程服务器authorized_keys文件中)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值