例90
写一个shell脚本,当我们执行时,提示要输入对方的ip和root密码,然后可以自动把本机的公钥增加到对方机器上,从而实现密钥认证。
#!/bin/bash
#这个脚本用来自动配置密钥认证
#作者:xzm
#日期:2019-12-19
read -p "输入一个IP地址: " ip
read -p "输入此机器的root密码: " pasd
is_install()
{
if ! rpm -q $1 &>/dev/null
then
yum installl -y $1
fi
}
is_install openssh-clients
is_install expect
if [ ! -f ~/.ssh/id_rsa.pub ]
then
echo -e "\n" |ssh-keygen -P ''
fi
cat > key.expect <<EOF
#!/usr/bin/expect
set host [lindex \$argv 0]
set passwd [lindex \$argv 1]
spawn ssh-copy-id root@\$host
expect {
"yes/no" { send "yes\r"; exp_continue}
"password:" { send "\$passwd\r" }
}
expect eof
EOF
chmod a+x key.expect
./key.expect $ip $pasd
自动化SSH密钥配置脚本
本文介绍了一个Shell脚本,用于自动配置SSH密钥认证。脚本引导用户输入目标IP和root密码,随后将本地公钥添加到远程主机,实现免密码登录。涉及的技术包括Shell编程、SSH密钥管理和自动化工具expect。

599

被折叠的 条评论
为什么被折叠?



