1 |
scp -p 你想发送的文件 目标主机用户名@IP:目标地址 |
演示一下:
我本地的虚拟机想往我的云服务器上面发送文件,可以看到,我当前处在root根目录下,我们往里面新建一个aaa.txt的文件,并在里面写入一个Hello World文字;
查看云服务器,此时root目录内一个文件也没有
接下来,我们使用scp命令,将本地虚拟机的aaa.txt文件上传到云服务器的/root目录内,这里需要输入一下云服务器的密码
我们来查看一下云服务内部此时有没有接收到这个文件
配置完免密登陆后,我们互传文件就不需要在输入密码了
1 |
ssh-keygen -t rsa |
命令敲完之后,点击三次回车,可以在根目录下的.ssh目录中看到几个文件
1 |
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys |
1 2 |
chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys |
我这里上传到我的云服务器上了
1 |
scp -p authorized_keys root@目标IP:/root/.ssh/authorized_keys |
上面三步可以直接通过下面命令来实现,上面的比较好理解
1 |
ssh-copy-id 目标IP |
需要把目标服务器的权限也给配一下,这里配置的目的是使这些文件能被调用到。
再次传送文件试试,可以看到,这次发送文件,直接就发送成功了,不需要输入密码了
查看一下目标服务器
1 |
ssh root@目标服务器IP |
包括执行远程命令
1 2 3 4 |
ssh root@目标服务器IP <<EOF cd /root touch ccc.txt EOF |
发现全部都不需要登陆操作了,直接就可以执行了。