linux不需要密码传送文件,Linux下用SCP无需输入密码传输文件

突然发现备份服务器里的备份目录下竟然没有备份文件,仔细一看原来是scp命令需要密码的问题。之前建立过信任关系,可能是因为修改了root密码,不成功了。下面说说Linux下用SCP无需输入密码传输文件具体操作。

通常用scp命令通过ssh获取对方Linux主机文件的时候都需要输入密码确认,不过通过建立信任关系,可以实现不输入密码。

这里假设需要备份的服务器 S 的IP:192.168.0.1

用作备份的服务器 B 的 IP:192.168.0.2

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

1. 在服务器 S 上执行如下命令来生成配对密钥:

ssh-keygen -t rsa

按照提示操作,注意,不要输入passphrase,因为我的之前已经操作过,所以还提示了是否覆盖,输入 "y"回车就可以。其他提示信息如下

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. 将 /root/.ssh/ 目录中的 id_rsa.pub 文件复制到 服务器 B 的 /root/.ssh/ 目录中,并改名为 authorized_keys。

scp .ssh/id_rsa.pub root@192.168.0.2:/root/.ssh/authorized_keys

以后从服务器 S scp 到服务器 B 就不需要密码了。

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

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

现在服务器 S 上执行脚本 scp ~/.ssh/id_rsa.pub root@192.168.0.2:/root/.ssh/s.pub

然后在服务器 B 上执行 cat ~/.ssh/s.pub >> ~/.ssh/authorized_keys

最后可以用个小的文本文件试试。

在服务器 S 上执行

touch ~/test

scp ~/test root@192.168.0.2:/root/

在服务器 B 上用 ls查看是否成功,其实刚才在服务器 S 上执行 scp 的时候已经提示传输成功了。

下面关于SSH相关的文章您也可能喜欢,不妨参考下:

0b1331709591d260c1c78e86d0c51c18.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值