热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux之间建立信任关系

nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd

【前言】

目的:在两个Linux之间建立信任关系,互相访问不用输入密码

环境:RHEL5+SSH

说明:需要建立信任关系的用户为Oracle,两台主机hostname分别为:vm1/vm2 

【步骤】

(1)、切换到需要建立信任关系的用户,这里是oracle用户
(2)、执行命令:ssh-keygen  -d,然后一直回车.
该命令会在用户home目录下生成一个隐藏的.ssh目录。目录里面有两个文件:
id_dsa、id_dsa.pub
这两个是密钥文件,id_dsa是密钥,id_dsa.pub是公钥
(3)、在.ssh目录下建立文件:authorized_keys2
(4)、在主机vm2上面执行步骤1~3
(5)、将vm1主机的id_dsa.pub文件内容复制到vm2主机的authorized_keys2
(6)、将vm2主机的id_dsa.pub文件内容复制到vm1主机的authorized_keys2

详细步骤可以参考下面:

 

[root@vm1:/]#su - oracle
[oracle@vm1]#pwd
/home/oracle
[oracle@vm1]#ls
-la
总计
44
drwx------ 3 oracle oinstall 4096 03-30 17:48 .
drwxr-xr-x 4 root root 4096 03-30 17:00 ..
-rw------- 1 oracle oinstall 933 03-31 15:54 .bash_history
-rw-r--r-- 1 oracle oinstall 24 03-30 17:00 .bash_logout
-rw-r--r-- 1 oracle oinstall 629 03-30 17:48 .bash_profile
-rw-r--r-- 1 oracle oinstall 124 03-30 17:00 .bashrc
-rw-r--r-- 1 oracle oinstall 515 03-30 17:00 .emacs
drwxr-xr-x 3 oracle oinstall 4096 03-30 17:00 .kde
-rw------- 1 oracle oinstall 682 03-30 17:48 .viminfo
-rw-r--r-- 1 oracle oinstall 658 03-30 17:00
.zshrc
[oracle@vm1]#ssh
-keygen -d
Generating
public/private dsa key pair.
Enter file in which to save the key (/home/oracle/.ssh/id_dsa):
Created directory '/home/oracle/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/oracle/.ssh/id_dsa.
Your public key has been saved in /home/oracle/.ssh/id_dsa.pub.
The key fingerprint is:
24:a2:81:6c:f3:77:b2:99:79:50:c4:2b:bb:98
:8f:ca oracle@vm1
[oracle@vm1]#ls
-la
总计
48
drwx------ 4 oracle oinstall 4096 04-01 19:27 .
drwxr-xr-x 4 root root 4096 03-30 17:00 ..
-rw------- 1 oracle oinstall 933 03-31 15:54 .bash_history
-rw-r--r-- 1 oracle oinstall 24 03-30 17:00 .bash_logout
-rw-r--r-- 1 oracle oinstall 629 03-30 17:48 .bash_profile
-rw-r--r-- 1 oracle oinstall 124 03-30 17:00 .bashrc
-rw-r--r-- 1 oracle oinstall 515 03-30 17:00 .emacs
drwxr-xr-x 3 oracle oinstall 4096 03-30 17:00 .kde
drwx------ 2 oracle oinstall 4096 04-01 19:27 .ssh
-rw------- 1 oracle oinstall 682 03-30 17:48 .viminfo
-rw-r--r-- 1 oracle oinstall 658 03-30 17:00
.zshrc
[oracle@vm1]#cd .ssh
[oracle@vm1]#ls
-l
总计
8
-rw------- 1 oracle oinstall 668 04-01 19:27 id_dsa
-rw-r--r-- 1 oracle oinstall 600 04-01 19:27
id_dsa.pub
[oracle@vm1]#touch authorized_keys2
[oracle@vm1]#ls
-l
总计
8
-rw-r--r-- 1 oracle oinstall 0 04-01 19:27 authorized_keys2
-rw------- 1 oracle oinstall 668 04-01 19:27 id_dsa
-rw-r--r-- 1 oracle oinstall 600 04-01 19:27
id_dsa.pub
[oracle@vm1]#cp id_dsa.pub id_dsa.pub.vm1
[oracle@vm1]#scp id_dsa.pub.vm1 vm2:
/home/oracle/.ssh/
The authenticity of host
'vm2 (139.122.1.20)' can't be established.
RSA key fingerprint is 2d:01:46:c1:55:6e:57:ef:0c:c1:55:50:b4:fa:39:6a.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'vm2,139.122.1.20' (RSA) to the list of known hosts.
oracle@vm2's password:
id_dsa.pub.vm1 100% 600 0.6KB/s 00:00
[oracle@vm1]#ls
-l
总计
20
-rw-r--r-- 1 oracle oinstall 0 04-01 19:27 authorized_keys2
-rw------- 1 oracle oinstall 668 04-01 19:27 id_dsa
-rw-r--r-- 1 oracle oinstall 600 04-01 19:27 id_dsa.pub
-rw-r--r-- 1 oracle oinstall 600 04-01 19:29 id_dsa.pub.vm1
-rw-r--r-- 1 oracle oinstall 600 04-01 19:30 id_dsa.pub.vm2
-rw-r--r-- 1 oracle oinstall 398 04-01 19:29
known_hosts
[oracle@vm1]#cat id_dsa.pub.vm2
ssh
-dss AAAAB3NzaC1kc3MAAACBAL/W2eqD725BtEZeB+v/VOBm1TIlCU4BnDlatNBLSdNtNpnLvGU4mcv8Ym9Xk25plMB2J3YJY4o6FGVFLrAaBVzsJFvWJcZDzrsGNyaEFmW6M8SbxQV4lC/kITkuSAXnmMGE2oSeHUxRFVO5AdOIQ7x5W7bJtOe+WcHA6xgunUcTAAAAFQCMlW/wduHRlTRyluNsUhz2IF7ZrQAAAIAOzgpQbvibWn0pUstJ5jIN0J53OHVXk4wVz/R8tg9ltob+V7Jru3ABDs3/DpLJC4Ep1B1gW6rI+/sxr6Z2qGT100WOz3xKowDNREst9SHiwXPVjPy/Vv/Ymqeugc5AX3/eicVtgCgY+hxfM+4rBrTLZ19HyNSGF7YxVrsEuPSEqAAAAIB8XKN6qc7HjTfngcqwmDREaagb7y8VkYj4kUTl31vrvTXBBeUCCuaVvAUPF1bf7U55Iy4OMv6hJ4ZBXwNzK/6/2QKYt3tS8ncFg/PkGRHvafQi8HglIbAoI9cErIDDb7G55mDtoctyuoCe6apfcnxJiJNFxxgxJjjgAHdNIpEBsg== oracle@vm2
[oracle@vm1]#cat id_dsa.pub.vm2
> authorized_keys2
[oracle@vm1]#cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1               vm1 localhost.localdomain localhost
::1             localhost6.localdomain6 localhost6
139.122.1.10  vm1
139.122.1.20  vm2

[oracle@vm1]#ssh vm2 ls
[oracle@vm1]#ssh vm2 ls
-a
.
..
.bash_history
.bash_logout
.bash_profile
.bashrc
.emacs
.kde
.ssh
.viminfo
.zshrcd

 

    成功之后用ssh或者scp命令都不用输入密码【建立后第一次访问可能要确认一次】,如果不成功可能原因如下:

    1、.ssh目录以及目录内文件权限不正确

    .ssh目录权限为700,目录内文件权限为644

    2、复制公钥文件id_dsa.pub的时候复制了多余的字符,比如空格或者换行,所以我上面演示的例子用了一种看起来比较

麻烦但算是安全的做法

 

    备注:

    如果要建立多台主机,比如四台主机之间的root用户之间的信任关系,步骤和上面差不多,假设四台主机hostname分别为:
VM1
VM2
VM3
VM4

步骤如下:
(1)、用root用户登陆VM1
(2)、cd ~
(3)、执行命令:ssh-keygen  -d,然后一直回车.
(4)、在root用户的主目录的.ssh目录下建立文件:authorized_keys2,修改权限为:644
(5)、在其他主机上面执行步骤1、2、3、4
(6)、将VM2、VM3、VM4主机的id_dsa.pub文件内容依次复制到csg-dev1主机的authorized_keys2内
(7)、在其他主机上重复步骤6[将除了自己之外的其他主机的公钥文件的内容复制到本机的authorized_keys2里面].

3、验证
在csg-dev1上面用root用户执行命令:
#ssh VM2主机IP  ls
#ssh VM3主机IP  ls
#ssh VM4主机IP  ls
如果能顺利列出对方主机文件,则说明配置成功.


推荐阅读
  • Linux服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • 成功安装Sabayon Linux在thinkpad X60上的经验分享
    本文分享了作者在国庆期间在thinkpad X60上成功安装Sabayon Linux的经验。通过修改CHOST和执行emerge命令,作者顺利完成了安装过程。Sabayon Linux是一个基于Gentoo Linux的发行版,可以将电脑快速转变为一个功能强大的系统。除了作为一个live DVD使用外,Sabayon Linux还可以被安装在硬盘上,方便用户使用。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 本文讨论了在Windows 8上安装gvim中插件时出现的错误加载问题。作者将EasyMotion插件放在了正确的位置,但加载时却出现了错误。作者提供了下载链接和之前放置插件的位置,并列出了出现的错误信息。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 本文介绍了三种方法来实现在Win7系统中显示桌面的快捷方式,包括使用任务栏快速启动栏、运行命令和自己创建快捷方式的方法。具体操作步骤详细说明,并提供了保存图标的路径,方便以后使用。 ... [详细]
  • 本文介绍了在CentOS 6.4系统中更新源地址的方法,包括备份现有源文件、下载163源、修改文件名、更新列表和系统,并提供了相应的命令。 ... [详细]
  • Vagrant虚拟化工具的安装和使用教程
    本文介绍了Vagrant虚拟化工具的安装和使用教程。首先介绍了安装virtualBox和Vagrant的步骤。然后详细说明了Vagrant的安装和使用方法,包括如何检查安装是否成功。最后介绍了下载虚拟机镜像的步骤,以及Vagrant镜像网站的相关信息。 ... [详细]
  • 本文介绍了在Web应用系统中,数据库性能是导致系统性能瓶颈最主要的原因之一,尤其是在大规模系统中,数据库集群已经成为必备的配置之一。文章详细介绍了主从数据库架构的好处和实验环境的搭建方法,包括主数据库的配置文件修改和设置需要同步的数据库等内容。MySQL的主从复制功能在国内外大型网站架构体系中被广泛采用,本文总结了作者在实际的Web项目中的实践经验。 ... [详细]
author-avatar
LIU在笑_139
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有