当两台LINUX主机之间要互传文件时可使用SCP命令来实现,建立信任关系之后可不输入密码。实现思路是把你的本地主机用户的ssh公匙文件复制到远程主机用户的~/.ssh/authorized_keys文件中 。
这里假设本地主机linux100,远程主机linux200 需要建立信任关系,操作步骤如下:
1、在linux100主机里的用户 ,运行如下命令ssh-keygen -t rsa
结果如下
会在用户目录~/.ssh/产生两个文件,id_rsa(私钥),id_rsa.pub(公钥)
2、方式一、使用命令将linux100主机公钥添加加到linux200主机授权:ssh-copy-id -i ~/.ssh/id_rsa.pub root@xuexiyuan.cn
方式二、把linux100主机上的id_rsa.pub文件拷贝到linux200主机的root用户主目录下的.ssh目录下,并且改名为authorized_keys 即: root/.ssh/authorized_keys
这样在linux100主机上使用scp命令复制文件到linux200上将不提示输入密码了,直接复制了。
注:如果有多台计算机需要与linux200进行复制,则只需将id_rsa.pub中的内容追加到authorized_keys文件中即可。
执行 cat ~/.ssh/机器的id_rsa.pub >> ~/.ssh/authorized_keys 将内容追加进去
3、复制文件或目录命令:
复制文件:
(1)将本地文件上传到远程
scp [-P 端口号] 文件名 用户名@计算机IP或者计算机名称:远程路径
(2)从远程将文件下载本地
scp [-P 端口号] 用户名@计算机IP或者计算机名称:文件名 本地路径
示例:从192.168.1.100机器上下载blog.war 到本机当前目录scp -P 40022 webadmin@192.168.1.100:~/tomcat/webapps/blog.war ./
复制目录:
(1)将本地目录上传到远程
scp [-P 端口号] -r 目录名 用户名@计算机IP或者计算机名称:远程路径
(2)从远程将目录下载本地
scp [-P 端口号] -r 用户名@计算机IP或者计算机名称:目录名 本地路径
注: [-P 端口号] 这里的端口好是指连接远程机器的SSH的端口号,如果远程机器的SSH端口号没变(默认22)则可以不指定该参数;