集群环境ssh免密码登录设置

一、准备工作

1) 用客户端工具(ssh client或者putty)连接到linux服务器。在root用户下输入命令

vi /etc/hosts,用vi编辑hosts文件,如下:

#127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

#::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.1.160 hadoop01

192.168.1.161 hadoop02

192.168.1.162 hadoop03

192.168.1.163 hadoop04

192.168.1.164 hadoop05

2) 输入命令:cd .ssh进入rsa公钥私钥文件存放的目录,删除目录下的id_rsa,id_rsa.pub文件。

二、在每台机上产生新的rsa公钥私钥文件,并统一拷贝到一个authorized_keys文件中

1) 登录hadoop01,在.ssh目录下输入命令:

ssh-keygen -t rsa

,三次回车后,该目录下将会产生id_rsa,id_rsa.pub文件。其他主机也使用该方式产生密钥文件。

2) 登录hadoop01,输入命令:

cat id_rsa.pub >> authorized_keys

,将id_rsa.pub公钥内容拷贝到authorized_keys文件中。

3) 登录其他主机,将其他主机的公钥文件内容都拷贝到hadoop01主机上的authorized_keys文件中,命令如下:

ssh-copy-id -i hadoop01 #登录hadoop02,将公钥拷贝到hadoop01的authorized_keys中

ssh-copy-id -i hadoop01#登录hadoop03,将公钥拷贝到hadoop01的authorized_keys中

ssh-copy-id -i hadoop01#登录hadoop04,将公钥拷贝到hadoop01的authorized_keys中

ssh-copy-id -i hadoop01 #登录hadoop05,将公钥拷贝到hadoop01的authorized_keys中,最终authorized_keys文件内容如下:
[[email protected] .ssh]# more authorized_keys

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAp7jp4a1/deK4B/eZW8kdiCQvzpKe4Id0uP0DdONFW85r

20rpH4ZpNSB7JNYFiqjMUPQ/2EWLXh7xoa9UntKsMVVcZr3BTiXRZ0Gx7IDacwz8Cq0qYrwUCMTKt7QF

xK5RwXyuZqDFjc2yC3/ZoqeyeLERFTll3ZLGeFsXhJjlkPTvtnvx0zX6lacPZL4VguoM5YHw3KaJg8bd

qehJzbQoPS8sm00ES4iygbR+Ixz1cnGTrtNU1S3lh4/y0PC6spMs9Z2Mf097FTLQJXJDiGqU9Tq3MHvl

srZFx92H4yeiJuYWJaZImuiq/feRIo30Dig6obEfuAn13vevdXozcXNlYQ== [email protected]

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAwpEgmBzfGw1mrKy3Ho8k/h4jrZlRdIzuLs6PKqDPV/Cw

2kjSYXV7tyGklUYWPWr1Dt6kw5+Ojr7zv+cFnFWKzTTAJz3V4md0RyQ11Kb+IJA7b88SRHcVLlNF2GDX

N2pVqh9lf6Zu6zfpnAjCg/mU8qzTrZfFZdzPtBppimMq+l0bolvgnxEEkpFTNkpHB8+cD732WL+KiW52

7nt0LGBbVbZz9mUa+0bsPGK7ySfk1SPUkGyNXXqVjEydyjvRY8bob7Q3mFX3MpDT696R8n7U7hQ7u4b8

gbe3rIuQcWwGseEQrGjIDhLb9am3dbgDuFeg73RJqFZMOp2y6zQF3jQIew== [email protected]

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAmc2M6Bzw1cPaDwjbtgynJPWRKv9pDnHjBSn5BDbIX0po

8GHHGr1pvYMGu4XWlIa76O44+bmF32K/9ECzBcNVL6a+aN5HWdUPpE6zagFUcaewXu2p4+FCZWpoTZbj

zHKGeay35Id+mpltZUWZlR5lOX+G/veNzuZNpKXnVYoZdAaJ3XlH6IVhKlGOuZkXxvD7e+YD4oxZw+4o

iaav/QtAhZHXWcAt2eVj9xw+j/3Ip5ImmIWHv5/AOFrgiY6c6U+2g5xOGONINbh9CxQ1L4HbQVAx8hYC

stWUm0LfFAcMwXDwb8RAFj+cH+D/xG6CrORLb4UfroJHa6N64rx/5dmz7w== [email protected]

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAxAsHr8Jp4vXI7bPGmSsO/+bT43GsxQ4GKdGf8qLPsFY+

/KluWl0TrRLwBVHGc94gpN2JOqtvKYYDSHw4Fj6KPSk/6Nt8CutZAwASoVxzexTFMOSwNFpTMsLc7Oza

Q3XG6v6PgtBEJqdUdl4zIFAZnkZjKmZp8SWG1jGo/vl3jsbrnmFQFeH04MdVcm9r1wvl80bdF9YvYEtg

ymHO4/tANKWSNKGw2EcthNWyQiN4hIYOoBQaUA3FlAXyqcD2+Q+2frf0gNF5KfKKLXmmlAuS9Oi6JqFJ

f1BLmMquI4n02owzU0zlkj3Px5IcCfQbDQ/JedHcjxEKP2S+9m3yxG4h2Q== [email protected]

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAyS1PbXTgFqHcGV/k0QUZni5xB5+q71qx4r5xto+WLkVQ

MiS3gR/VYZoyDLrQRVf5t0JiliCgHeU0MG/ASd1LPbsVYCX5V9cmcm1hMByDKJ6FwIxz5cY4y1dBpwAZ

2E24CQWfZuevaeIFnL80RGGLhRgCxbLb3aPvRZuV34utD+5kgAFJwYCQYN4KnFG1S5e4X6U5J3FsCDby

GD7dhtWWktMV2SAnWjrmULguaVRqO0sDIEiVSc9+KKqAmlOab+5SbZAI5+3hzJog5c3i4f5fHXWnxYqy

LNo3yYSWraV5KcYIlNPqX6iJKvjLWbNDwD3+70u4nWjBSXXufhff71LdHw== [email protected]
三、授权authorized_keys文件

1) 登录hadoop01,在.ssh目录下输入命令:

chmod 600 authorized_keys

,效果如下:

[[email protected] .ssh]# ls -al

total 28

drwx------.  2 root root 4096 Oct 24 12:27 .

dr-xr-x---. 22 root root 4096 Oct 24 19:20 ..

-rw-------.  1 root root 1975 Oct 24 12:27 authorized_keys

-rw-------.  1 root root 1975 Oct 24 12:09 authorized_keys_20141024

-rw-------.  1 root root 1675 Oct 24 12:23 id_rsa

-rw-r--r--.  1 root root  395 Oct 24 12:23 id_rsa.pub

-rw-r--r--.  1 root root 2020 Oct 24 12:10 known_hosts
四、将授权文件分配到其他主机上

1) 登录hadoop01,将授权文件拷贝到hadoop02、hadoop03...,命令如下:

scp /root/.ssh/authorized_keys hadoop02:/root/.ssh/ #拷贝到hadoop02上

scp /root/.ssh/authorized_keys hadoop03:/root/.ssh/ #拷贝到hadoop03上

scp /root/.ssh/authorized_keys hadoop04:/root/.ssh/ #拷贝到hadoop04上

scp /root/.ssh/authorized_keys hadoop05:/root/.ssh/ #拷贝到hadoop05上

2) 至此,免密码登录已经设定完成,注意第一次ssh登录时需要输入密码,再次访问时即可免密码登录。

时间: 2024-07-31 14:32:41

集群环境ssh免密码登录设置的相关文章

linux ssh免密码登录设置

ssh-keygen -t rsa 全部回车 生成密钥默认放在了/root/.shh中 打开它 cd /root/.ssh cp id_rsa.pub authorized_keys 免密码登录 现在只是本机免密码,接下来要集群之间免密码 ssh-copy-id -i spark2(机器hostname)每个机器和其他机器之间各自拷贝一份 ctrl + d可以退出远程

linux下ssh免密码登录设置

每次登录远程主机使用密码难免有点烦人,在此介绍一种方式,可使用ssh密钥进行免密码登录. ssh密钥生成 ssh-keygen:此命令用于生成密钥. 常用到的命令选项如下: -t:用于指定密钥类型,rsa或者dsa,一般使用rsa: -b:指定密钥长度: -e:读取openssh的私钥或者公钥文件: -C:添加注释: -f:指定用来保存密钥的文件名: -i:读取未加密的ssh-v2兼容的私钥/公钥文件,然后在标准输出设备上显示openssh兼容的私钥/公钥: -l:显示公钥文件的指纹数据: -N

hadoop集群启动ssh免密登录

1.hadoop对hdfs集群的管理提供两种脚本 hadoop-daemons.sh 本地启动脚本:对集群中的单个节点操作 start-dfs.sh 集群启动脚本:对集群中所有节点统一操作 2.SSH免密登录(防止集群登录超时) ①生成公私钥 1 ssh-keygen -t rsa 在用户目录下有个.ssh文件(隐藏文件),添加authorized_keys文本,将生成的公钥内容重定向(>>)到该文件中. ②直接使用如下命令,可以看到.ssh文件中自动生成了authorized_keys授信文

SSH免密码登录设置

SSH是远程登录Linux系统的工具,Linux系统默认安装都包含SSH服务端,客户端可以通过命令:ssh 服务器IP地址(例:ssh 192.168.100.1)或者SSH客户端软件登录到Linux服务器.但是,默认的SSH登录方式要求用户输入服务器目标账号的密码.为了避免繁琐的密码输入,可以为SSH配置免密码登录.具体配置如下: 假设服务器IP地址:192.168.100.1:客户端IP地址:192.168.100.2. 1. 服务器端执行命令:"[email protected]:~$ s

ssh免密码登录自动设置脚本 - IT书 - https://itbook.com/

原创链接:IT书 - itbook.com 目的 一键式配置集群节点间免密码登录.前提是所有节点的密码是一致的! 实现 vim ~/nonpassword 脚本内容: #!/bin/sh # all node names NODES=() # all node password PASS=$1 ###### Validation args length nodes_length=$(($# - 1)) if [[ ss -gt 0 ]];then echo "Exit: At least two

集群中配置多台机器之间 SSH 免密码登录

集群中配置多台机器之间 SSH 免密码登录 问题描述 由于现在项目大多数由传统的单台机器部署,慢慢转变成多机器的集群化部署. 但是,这就涉及到机器间的 SSH 免密码互通问题. 当集群机器比较多的时候,如何能快速简洁地配置机器之间的免密码登录呢? 完美方案 1.分别查看集群的机器上,是否安装了 SSH,并且服务正常运行 ps -ef | grep ssh 2.如果步骤 1 检查后,确认没有安装 SSH,可以通过如下命令安装 SSH sudo apt-get install ssh 找到隐藏目录.

RedHat设置SSH免密码登录

如果我们需要远程管理其他机器的话,一般使用远程桌面或者telnet.linxu服务器几乎都是命令行,所以只能使用telnet了.telnet的缺点是通信不加密,非常不安全,只适合于内网访问.为解决这个问题,推出了加密的通信协议,即SSH.SSH的全称是Secure Shell,使用非对称加密方式,传输内容使用rsa或者dsa加密,可以有效避免网络窃听. hadoop的进程之间通信使用ssh方式,需要每次都要输入密码.为了实现自动化操作,我们下面配置SSH的免密码登录方式. 下面的图展示了SSH免

Hadoop分布式模式下SSH免密码登录

1.Hadoop中为什么要配置免密码登录 最近在学习Hadoop,在集群中,Hadoop控制脚本依赖SSH来执行针对整个集群的操作.例如,某个脚本能够终止并重启集群中的所有守护进程.所以,需要安装SSH,但是,SSH远程登陆的时候,需要密码验证,集群中数千台计算机,数千台计算机都需要手工输入密码,这是不太现实的,所以,就需要配置SSH无密码登录. 2.环境 Hadoop中有三个节点,分别是centosNameNode,centosDateNode1,centosDateNode2,我们现在要实现

多台服务器-SSH免密登录设置

在4台服务器-SSH免密登录设置,如以下4台服务器 master1 node001 node002 node003 我想在master1对4台服务器进行拉取或者分发任务或者是集群服务器的批量操作,但是每次都要输出密码,这个过程比较影响操作效率??? 以下给出解决方法---->设置密钥验证 密钥验证流程如图 原理: 即在源服务器上先生成一份公钥和一份密钥,将公钥复制到目标服务器,利用命令将公钥添加至目标服务器的授权列表(authorized_keys).当有服务器带着公钥申请连接服务器时,目标服务