centos下建立双机信任关系
在有些情况下,我们希望在两台centos机器之间建立ssh连接的时候,可以不用输入密码。最常见的情况就是在使用脚本做数据库备份的时候。这种情况下,我们可以通过公钥/私钥来建立双机之间的信任关系。
网上有些教程中使用的是root账号。如果仅仅是学习和实验,并无不可。但是如果用于实际的环境中,最好还是创建专门的账号。
建立双机信任的步骤很简单。以我们提到的数据备份的场景为例,假设我们有两台机器:source和target。在source上我们创建了用户dataSender,在target上我们创建了用户dataReceiver。
1. 在source的dataSender用户的home目录中(通常是/home/dataSender目录),执行命令
ssh-keygen -t rsa
这个命令会在当前目录下的.ssh目录中生成公钥私钥文件。私钥文件名为id_rsa,公钥文件名为id_rsa.pub。
当然,如果已经有了公钥私钥文件,则可以忽略这一步。
注意在创建密钥文件的过程中,会让你输入passphrase,这个是用来保护密钥的。如果输入了passphrase,那么在执行命令的时候还是需要输入passphrase验证。因此为了方便,我们可以直接输入回车来省略passphrase。当然,不使用passphrase会存在一定的安全风险,只要有人获取了你的密钥文件,就能够直接使用它。另外一种方案就是使用passphrase,但是同时使用ssh_agent来避免输入passphrase。这个在以后介绍。
2.为.ssh目录和密钥文件设置恰当的权限
chmod 700 ~/.ssh
chmod 600 ~/.ssh/id_rsa
3. 将id_rsa.pub文件copy到target的机器上,假设copy到/temp目录下。
4. 使用dataReceiver登录target机器,将上面copy过来的id_rsa.pub文件安装到authorized_keys列表中。
cat /temp/id_rsa.pub >> ~/.ssh/authorized_keys
在authorized_keys中包含了所有dataReceiver用户信任的公钥,每一条是一行。
5. 在target上设置权限
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
注意,如果在/etc/ssh/sshd_config中设置了StrictMode(默认是设置了的),那么必须象上面这样配置访问权限。
6.确保设置了正确的SELinux环境
restorecon -Rv ~/.ssh
现在,就可以从source上的dataSender账号下,使用私钥来以dataReceiver的身份登录target了。
ssh dataReceiver@target
ssh会先尝试使用私钥登录,如果没有私钥文件或者私钥文件验证不成功,才会提示输入密码。
题外话:如果想不允许使用密码登录,可以在/etc/ssh/sshd_confg中做如下设置
PasswordAuthentication no
centos下建立双机信任关系的更多相关文章
- scp建立安全信任关系
1. 在机器Client上root用户执行ssh-keygen命令,生成建立安全信任关系的证书. [root@Client root]# ssh-keygen -b 1024 -t rsa Gener ...
- Centos下SFTP双机高可用环境部署记录
SFTP(SSH File Transfer Protocol),安全文件传送协议.有时也被称作 Secure File Transfer Protocol 或 SFTP.它和SCP的区别是它允许用户 ...
- linux建立ssh信任关系
一.建立SSH信任将A主机做为客户端(发起SSH请求 ip:192.168.200.170)将B主机作为服务器端(接收ssh请求 ip:192.168.200.149)以上以主动发起SSH登录请求 ...
- 【MongoDB】 windows下建立双机主从
[双机配置] 服务端: 两台 Dell R730 双路E5 服务器 使用一个内网环境,网段20, ping 测试互通 主服ip: 192.168.20.176: 27017 从服ip: 192.168 ...
- CentOS下建立本地YUM源并自动更新
1. 尽管有很多的免费镜像提供yum源服务,但是还是有必要建立自己的yum服务器,主要出于以下几点考虑: l 网络速度:访问互联网可能比较慢 l 节省带宽:如果有大量的服务器,架设自己的yum源可以有 ...
- [原创]CentOS下Mysql双机互为备份
一.环境: 1.安装Centos-6.5-x64位系统的机器两台: host1:192.168.2.3 host2:192.168.2.4 (互相能ping通) 2.安装Mysql. 命令:Yum ...
- Linux创建SSH信任关系
Linux服务器创建信任关系可以解决远程执行命令.远程传输文件多次手工输入的麻烦.可以实现环境一键打包备份. 测试环境 SuSE 手工创建 假设服务器A与B间要建立信任关系.用户想从服务器A免密码登录 ...
- 建立SSH的信任关系
1.在Client上root用户执行ssh-keygen命令,生成建立安全信任关系的证书. Client端 # ssh-keygen -t rsa Generating public/private ...
- 两台linux之间建立信任关系,实现免密码ssh远程登录或scp数据上传
两台linux之间建立信任关系,实现免密码远程登录或数据上传 1.执行ssh-keygen命令,生成建立安全信任关系的证书: linux1上:执行命令 ssh-keygen -t rsa 在程序提 ...
随机推荐
- Nuget Command Console
Get-Package -ListAvailable -Filter contracts 命令行 注意选择 程序包源
- Arcgis, ArcEngine, Arcgis Server使用开发汇总 索引
ArcGIS系列软件license及安装: Arcgis SDE10.1 和 Arcgis server10.1的授权文件license tnt_esri.dat Arcgis8.1安装license ...
- React项目(二):生命游戏
引子 这是16年最后的一个练手项目,一贯的感觉就是,做项目容易,写说明文档难.更何况是一个唤起抑郁感觉的项目,码下的每个字,心就如加了一个千斤的砝码. 2016年,有些事我都已忘记,但我现在还记得.2 ...
- webpack踩坑之路——图片的路径与打包
转自:http://www.cnblogs.com/ghost-xyx/p/5812902.html 刚开始用webpack的同学很容易掉进图片打包这个坑里,比如打包出来的图片地址不对或者有的图片并不 ...
- 差分进化算法 DE-Differential Evolution
差分进化算法 (Differential Evolution) Differential Evolution(DE)是由Storn等人于1995年提出的,和其它演化算法一样,DE是一种模拟生物进化 ...
- zend studio面板功能
不小心把zend界面右边的显示类中各个方法的窗口关掉了,如何打开呢: 法一:点击Windows菜单,选择show view项,选择outline即可: 法二:点击Windows菜单,选择Reset P ...
- Eclipse部署Maven web项目到tomcat服务器时,没有将lib下的jar复制过去的解决办法
我们在做web开发是,经常都要在eclipse中搭建web服务器,并将开发中的web项目部署到web服务器进行调试,在此,我选择的是tomcat服务器.之前部署web项目到tomcat进行启动调试都很 ...
- nuget国内镜像的解决办法
不求人,在阿里云上安一个nuget镜像站,这样就能愉快编程了. 主要是利用nginx 的反向代理+缓存功能+响应文本的替换 proxy_cache_path /data/nuget-cache lev ...
- Redis实战阅读笔记——开始
Redis实战这本书,看完以后最大的不是redis本身的东西,而是作者面对实际问题的分析而给出的设计方案,可以看成NoSql设计的应用.个人从这方面收获很多,至于Redis本身的东西,这个就花一两个小 ...
- Makefile文件学习总结
Makefile文件相当于是一种脚本编程语言,目的是实现自动化编译.编写makefile文件的过程中可以使用变量.控制结构和函数等一般编程语言的特性. Makefile文件的组成内容.makefile ...