linux下实现ssh授权、无密码登录
2008-04-08 11:11
561 查看
最近需要对公司的每日数据进行分布式备份,主要是在两台服务器之间对重要数据互为备份。
因为我们都有点懒,另外从系统设计角度也不能手工来操作,所以要写个自动进行备份的程序。这就涉及到配置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文件,一切成功!
因为我们都有点懒,另外从系统设计角度也不能手工来操作,所以要写个自动进行备份的程序。这就涉及到配置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文件,一切成功!
相关文章推荐
- linux下实现ssh授权、无密码登录
- linux下实现ssh授权、无密码登录
- ssh 实现linux/unix无密码远程登录
- 服务器间通过ssh使用密钥对实现无密码登录solaris,redhat,linux
- Windows使用SSH Secure Shell实现免密码登录Linux的方法以及使用scp2命令免密码下载文件
- Linux 通过rsa公钥实现ssh免密码登录
- Linux实现SSH无密码登录
- Linux下实现SSH免密码登录和实现秘钥的管理、分发、部署SHELL脚本分享
- Linux下实现SSH免密码登录
- 基于cron、rsync和ssh免密码登录实现Linux系统间自动同步~
- ssh-keygen+ssh-copy-id 在linux下实现ssh无密码登录访问
- ssh-keygen+ssh-copy-id 在linux下实现ssh无密码登录访问(转)
- Linux使用ssh-keygen实现SSH无密码登录
- Linux下通过ssh-keygen和ssh-copy-id命令实现ssh无密码登录访问
- Linux实现SSH无密码登录
- linux下两台主机通过ssh实现无密码登录
- 定制微型linux实现启用虚拟终端基于帐号密码登录、提供ssh服务,提供Web服务(下)附有命令移植脚本 推荐
- Linux下通过ssh-keygen和ssh-copy-id命令实现ssh无密码登录访问
- Linux使用ssh公钥实现免密码登录实例
- Linux:实现Hadoop集群Master无密码登录(SSH)各个子节点