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 在程序提 ...
随机推荐
- spring架构源码:
p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px "Helvetica Neue"; color: #454545 } p. ...
- Scrum Meeting 20161205
本周Sprint Master 史少帅 一. 会议概要 作为一个新的sprint的开端,本次scrum meeting总结了每个人过去以来的工作,并明确了下一步的计划,具体如下: 工作总结: · 陈双 ...
- crodova打包apk个人总结
1.安装nodejs 2.安装 cordova npm install -g cordova 3.安装Java JDK,官网下载地址 系统变量→新建 JAVA_HOME 变量 . 变量值填写jdk的安 ...
- 故障review的一些总结
故障review的一些总结 故障review的目的 归纳出现故障产生的原因 检查故障的产生是否具有普遍性,并尽可能的保证同类问题不在出现, 回顾故障的处理流程,并检查处理过程中所存在的问题.并确定此类 ...
- [bigdata] 从Cloudera Manager中彻底删除服务器
1. 在CM中主机页里,选定要删除的服务器,选择操作“从群集中删除”. 2. 登录到主机,执行chkconfig,显示有cloudera-scm-agent服务, 执行service cloudera ...
- WinForm------DateEdit属性设置
1.只能选择年份属性设置
- adobe dreameaver cs5 禁止更新
需要修改系统的host文件,将官方验证服务器全指向本机 用记事打开 C:\WINDOWS\system32\drivers\etc 下面的 host (没扩展名) 然后在后面添加 127.0.0.1 ...
- fineui刷新父页面
protected override string AfterAddJS() { //TODO 重载这2个函数 可以控制新增和编辑之后执行的JS return AfterSaveJS_ReloadDa ...
- springmvc 文件上传实现(不是服务器的)
1.spring使用了apache-commons下的上传组件,因此,我们需要引用2个jar包 1)apache-commons-fileupload.jar 2 ) apache-commons-i ...
- GMOLO平板——如何安装新系统
1.首先,此款平板采用intel处理器Z3735F,不支持Win7,XP,经过测试,Win8可以在此类笔记本及平板上运行,并非只能安装最新的Win10系统. 2.下载Win8 32位系统作为预备(GH ...