linux下实现ssh授权、无密码登录

    最近需要对公司的每日数据进行分布式备份,主要是在两台服务器之间对重要数据互为备份。
    因为我们都有点懒,另外从系统设计角度也不能手工来操作,所以要写个自动进行备份的程序。这就涉及到配置ssh授权,使用scp来传输文件了。
    scp在连接过程中会用到ssh的验证,需要输入密码,但是这样以来程序实现上面就不方便了。就需要两台服务器之间授权验证,实现无密码登录。
    搜了资料,再加上之前的一个同事的指导,得以完成。资料讲了很多相关的知识,很容易把人搞晕,实际上明白之后是非常简单的,总结如下:
    ssh授权涉及到了密钥,一个私钥一个公钥,用来验证。生成并分发你自己的密匙有两个好处:
    1) 可以防止"中间人"这种攻击方式
    2) 可以只用一个口令就登录到所有你想登录的服务器上
    现在假设需要从A机登录到B机,同时我们假设在A机上使用用户user进行登录,就需要做以下几步即可实现:
    1、在A机上user用户下,执行ssh-keygen -d命令,如果是ssh1就不带参数,系统会提示:
         Generating public/private dsa key pair.
         Enter file in which to save the key (/home/user/.ssh/id_dsa):
         [直接Enter就是了]
         Enter passphrase (empty for no passphrase):
         Enter same passphrase again:  
         [这个地方就是设置使用什么密码进行登录,无密码登录直接Enter就是了]
         Your identification has been saved in /home/user/.ssh/id_dsa.
         [这个就是你的私钥]
         Your public key has been saved in /home/user/.ssh/id_dsa.pub.
         [这个就是你的公钥]
     2、好了,现在就可以把你的公钥交给你要登录的B机了,把id_dsa.pub文件拷贝到B机上对应的/home/user/.ssh/目录下,并且改名为authorized_keys,记得把权限设置成644,否则ssh不会正常验证
     3、ok,完成,是不是很简单。现在测试一下,在A机上ssh B,直接就登录了,没有密码输入的提示

     同时测试一下scp命令,scp test.txt B:/tmp
     test.txt                                                      100%    5     0.0KB/s   00:00
     再查看B机/tmp目录,已经存在test.txt文件,一切成功!
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值