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 在程序提 ...
随机推荐
- Dictionary
命名空间:System.Collections.Generic(程序集:mscorlib) Dictionary<TKey, TValue> 类 一般用法:通过key获取value,k ...
- iBatis.net 类的继承extends和懒加载
<resultMaps> <resultMap id="FullResultMap" class="t_c_team_member_permission ...
- 小程序和APP谁将主导未来?
APP和小程序的未来会怎么样?小程序的出现真的会加速APP的灭亡吗?今天这篇文章,是对小程序和App未来发展格局的一些思考,更多的是想提醒各位拥抱小程序的的参与者,我们在决定参与这场狂欢的同时,切勿盲 ...
- weblogic安全漫谈
今天,我来与大家探讨一下关于weblogic的话题 在进入内网后,如图: 当我们看到7001时,我们就可以测试weblogic反序列化漏洞,如图: 证明,漏洞存在,查看一下权限,如图: 理论上,我们可 ...
- java.lang.NoClassDefFoundError: Lorg/slf4j/Logger;
如果你出现类似如下错误 1. Install tomcat7 in my home directory and set up `CATALINA_HOME` environment variable ...
- 一个php 字符串判断问题
先看代码 你觉得下面的代码会输出什么结果: <?php $a = "10"; $b = "1e1"; if($a == $b ) { echo " ...
- linux 命令02
cp 文件 路径 文件拷贝 cp -a 目录 路径 拷贝目录 cd .. 回到上一级目录 mv 需要移动目录(文件) 移动目的地 移动目录(文件) pwd 查看用户当前所在路径 ls 查看目录列表 m ...
- windows7设置开机启动方式
打开计算机(资源管理器)(快捷键win+e),输入 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup 将需要开机启动的软件的快捷 ...
- git仓库的初始化
关于git仓库的初始化和git push的操作 git init git remote add origin ssh://myserver.com/home/git/myapp.git git pul ...
- shanquan2的两年三题系列
好像只有2个月就退役啦 不管了,先说一下哪三题:多点求值.lcm.替罪羊树(bzoj3065) [upd0]2016.3.29 多点求值A掉啦,myy卡常数sxbk(不是说好的是shanquan2出的 ...