手机版
你好,游客 登录 注册
背景:
阅读新闻

Linux下使用scp命令无需输入密码传输文件

[日期:2015-01-17] 来源:Linux社区  作者:Linux [字体: ]

在Linux环境下,两台主机之间传输文件一般使用scp命令,通常用scp命令通过ssh获取对方Linux主机文件的时候都需要输入密码确认。

不过通过建立信任关系,可以实现不输入密码。

这里假设A的IP:192.168.10.1

B的IP:192.168.10.2

需要从A免密码输入复制文件至B。


1. 在主机A上执行如下命令来生成配对密钥:
ssh-keygen -t rsa
按照提示操作,注意,不要输入passphrase。提示信息如下
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
ff:8e:85:68:85:94:7c:2c:46:b1:e5:2d:41:5c:e8:9b  root@localhost.domain

2. 将 .ssh 目录中的 id_rsa.pub 文件复制到 主机B 的 ~/.ssh/ 目录中,并改名为  authorized_keys。
scp .ssh/id_rsa.pub 192.168.10.2:/root/.ssh/authorized_keys

以后从A主机scp到B主机就不需要密码了。

3.使用此方法需要注意:复制的两台计算机需要用相同的账户名,这里都是用的root。为了安全起见,需要在两台机器中创建相同的账号,然后在A上用su命令切换至账号下,执行第1步,第二步中复制文件时可能.ssh目录并不存在,需要手动创建。

在第2步中如果机器中已经存在authorized_keys文件,则需注意,这个文件可以包含多个SSH验证信息,这时可用 cat >>命令将验证文件内容附加上去。

比如复制到scp .ssh/id_rsa.pub 192.168.10.2:/root/.ssh/a.pub

然后执行cat ~/.ssh/a.pub >> ~/.ssh/authorized_keys

Linux之cp/scp命令+scp命令详解 http://www.linuxidc.com/Linux/2014-09/107127.htm

CentOS 不能使用scp命令 解决方法 http://www.linuxidc.com/Linux/2014-09/106569.htm

两台Linux主机之间scp复制文件 http://www.linuxidc.com/Linux/2014-04/99979.htm

压榨scp传输速度 http://www.linuxidc.com/Linux/2014-01/95498.htm

加速scp传输速度 http://www.linuxidc.com/Linux/2014-01/95497.htm

shell实现scp批量下发文件 http://www.linuxidc.com/Linux/2013-11/92783.htm

十个 SCP 传输命令例子 http://www.linuxidc.com/Linux/2014-12/110846.htm

本文永久更新链接地址http://www.linuxidc.com/Linux/2015-01/111893.htm

linux
相关资讯       Linux scp命令  Linux scp 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款