栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

实现脚本自动登录SSH

实现脚本自动登录SSH

在部署Hadoop集群时,用下面的命令生成密钥对:

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

用下面的命令将master的公钥添加到authorized_keys中。

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

用scp命令将authorized_keys文件复制到slave主机。复制的过程中,需要输入密码。首次使用SSH登录Slave主机,需要输入密码,或者需要回答yes/no。

登录以后,会在/root/.ssh/目录下生成known_hosts,并将能够SSH登录主机的主机名、IP、fingerprinter添加到此文件中。有了这些内容,以后SSH远程登录就不需要回答密码或者yes了。

下面的代码实现了脚本自动远程登录,代码放在脚本文件中,如ssh_auto.sh, 给文件添加执行权限,执行脚本即可实现自动远程登录:

#!/usr/bin/expect -f

set loginuser "root"
set password "123456"
set timeout 1
set cmd_prompt "]#|~]?"

set servername "master"
spawn ssh $loginuser@$servername
expect {
    "*yes/no/*" {send "yesr"}; exp_continue
    "*password*" {send "$passwordr"}; exp_continue
}
send "exitr"
interact

注意:

在实现自动远程登录以前,需要安装expect,安装命令是:

yum install -y expect

在此脚本中,有四个命令send,expect,spawn,interact,它们的功能如下:

send:用于向进程发送字符串

expect:从进程接收字符串

spawn:启动新的进程

interact:允许用户交互

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/457697.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号