非root用户sudo_ssh免密钥

目标:从服务器上ssh登陆后sudo免密钥执行相应的命令
环境介绍:
192.168.65.128 my1-
192.168.65.129 my2-
192.168.65.130 web224 # 步骤一:
# 每个节点执行(不是必须,但是建议这样做)
cat >>/etc/hosts <<EOF
192.168.65.128 my1-
192.168.65.129 my2-
192.168.65.130 web224
EOF # 场景介绍
# 现在有个删除缓存的操作。需要在192.168.65.128上执行,192.168..129和192.168.65.130的相应缓存文件也都一起被删除掉了
# 准备工作
# 每台机器上都创建一个账号
useradd gtuser
echo "gtuserpwd" | passwd --stdin gtuser
cat >>/etc/sudoers << EOF
gtuser ALL=NOPASSWD:/bin/rm -f /tmp/global_cache.log
EOF # 建立ssh免密钥互信
# 因为是从一台集中去执行,所以是单向免密钥 su - gtuser
# 每个节点都执行
ssh-keygen -t rsa # 一路回车
# 将公钥添加到认证文件中
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
# 并设置authorized_keys的访问权限
chmod ~/.ssh/authorized_keys # 只要在一个节点执行即可。这里在 192.168..128上执行
ssh 192.168.65.129 cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys
ssh 192.168.65.130 cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys # 分发整合后的文件到其它节点
scp ~/.ssh/authorized_keys 192.168.65.129:~/.ssh/
scp ~/.ssh/authorized_keys 192.168.65.130:~/.ssh/ # 测试时,第一次,需要输入密码,之后就不需要输入密码了。
# 在192.168.65.128上测试
ssh 192.168.65.129
ssh 192.168.65.130 # 在192.168.65.129上测试
ssh 192.168.65.129
ssh 192.168.65.130 # 在192.168.65.130上测试
ssh 192.168.65.128
ssh 192.168.65.129 # 删除,重新操作
# rm -fr /home/gtuser/.ssh/ # 编写脚本测试
cat >>/root/delete_cache.log <<EOF
#ssh -p -t gtuser@192.168.65.128 "sudo /bin/rm -f /tmp/global_cache.log; echo "/tmp/global_cache.log has been deleted"; echo `date`"
ssh -p -t gtuser@192.168.65.128 "sudo /bin/rm -f /tmp/global_cache.log"
ssh -p -t gtuser@192.168.65.129 "sudo /bin/rm -f /tmp/global_cache.log"
ssh -p -t gtuser@192.168.65.130 "sudo /bin/rm -f /tmp/global_cache.log"
EOF # 如果是root用户,类似的操作
scp ~/.ssh/authorized_keys gtuser@192.168.65.129:/home/gtuser/.ssh/
scp ~/.ssh/authorized_keys gtuser@192.168.65.130:/home/gtuser/.ssh/ sh /root/delete_cache.log
# 执行结果如下:
[root@my1- ~]# sh /root/delete_cache.log
Connection to 192.168.65.128 closed.
Connection to 192.168.65.129 closed.
Connection to 192.168.65.130 closed.
[root@my1- ~]#

非root用户sudo_ssh免密钥的更多相关文章

  1. linux 非root用户 ssh 免密码登录

    之所以要把这个记录下来 是因为它的确和root用户不一样root用户 不需要改动什么权限问题  只要生成私钥/公钥对 即可 但是一样的操作在普通用户上就出了问题了 折腾了老半天 ssh-keygen ...

  2. 非root用户ssh 执行 sudo远程机器免密钥

    非root用户ssh 执行 sudo远程机器免密钥 # 1.登陆192.168.1.10 ssh-keygen -t rsa # 一路回车 # 将公钥添加到认证文件中 cat ~/.ssh/id_rs ...

  3. 非root用户搭建hadoop伪分布式

    0.安装软件列表 jdk-7u25-linux-x64.tar.gz hadoop-2.5.0.tar.gz hadoop-native-64-2.5.0.tar   1.准备Linux环境(root ...

  4. MHA非root用户搭建测试

    最近一直在瞎搬砖,最大的感触是运维工作难做.不过废话不多说,最近被分配了一项比较有意思的task,尝试着非root用户搭建MHA并测试下能否成功漂移,以下是两天测试和文档编写的成果,分享给各位看客,欢 ...

  5. 【异常】ssh无法登录验证,非root用户ssh本机无法成功

    1 自己搭建的是伪分布式环境,需要以非root用户启动Hadoop集群,之前root已经配置了ssh免密登录,但是自己切换到hdfs用户重新生成了一套ssh key, 但是切换到hdfs始终无法成功登 ...

  6. 多个UID为0的用户如何实现root用户的免密

    文章目录 创建用户 创建用户密码 免密脚本 当前主机用户不是root 当前主机用户是root,远程主机多个用户uid为0 利用shell脚本实现远程主机uid为0的用户只有root一个 多个UID=0 ...

  7. ubuntu下非root用户下获得使用wireshark的权限

    在非root用户下不能使用wireshark用来抓包,所以需要进行以下操作: sudo groupadd wireshark sudo chgrp wireshark /usr/bin/dumpcap ...

  8. 非root用户安装软件

    下面简要说一下Linux下非root用户安装软件的一般流程: 1. 获取源代码,一般是wget方式,ubuntu可以使用apt-get source来获取源代码. 2. 解压源代码,一般使用tar - ...

  9. perl 下使用非root用户安装模块

    perl下安装模块可以使用cpan命令,但是通常我们不具有root用户权限,所以只能以sudo方式安装模块. 例如需要安装Net::SCP::Expect模块, 执行cpan Net::SCP::Ex ...

随机推荐

  1. .net core compatibility windows & windows compatible Linux

    Who is this package for? This package is meant for developers that need to port existing .NET Framew ...

  2. ASP.NET Web API Basic Identity 中的基本身份验证

    缺点 用户凭证在请求中发送. 凭据作为明文发送. 每个请求都会发送凭据. 无法注销,除非结束浏览器会话. 易于跨站点请求伪造(CSRF); 需要反CSRF措施. 优点 互联网标准. 受所有主要浏览器支 ...

  3. ES6函数增强

    函数参数可以拥有默认值.调用函数时,如果没有进行相应的实参传递,参数就会使用默认值.怎么给参数提供默认值呢?很简单,声明函数时候,给形参赋一个值就可以了,这个值就是参数的默认值. // num2拥有默 ...

  4. luogu4187

    P4187 [USACO18JAN]Stamp Painting 样例 input3 2 2output6 input6 10 5output190 sol:首先可以发现,对于合法的序列,只要有一串至 ...

  5. JVM深入理解<二>

    以下内容来自: http://www.jianshu.com/p/ac7760655d9d JVM相关知识详解 一.Java虚拟机指令集 Java虚拟机指令由一个字节长度的.代表某种特定含义的操作码( ...

  6. Web.xml中Filter过滤器标签几个说明

    在研究liferay框架中看到Web.xml中加入了过滤器的标签,可以根据页面提交的URL地址进行过滤,发现有几个新标签没用过,下面就介绍以下几个过滤器的标签用法: <!-- 定义Filter ...

  7. centos 7创建ss服务(方式二)

    一:安装pip yum install python-pip 如果没有python包则执行命令:yum -y install epel-release: 二:安装SS pip install shad ...

  8. Number Sequence POJ - 1019 递推 数学

    题意 1 12 123 1234 12345 ....这样的序列 问第n位数字是几   是数字! 1-9! 思路:递推关系 主要是位数的计算   用a[i]=a[i-1]+(int)log10((do ...

  9. Java8的Stream语法详解(转载)

    1. Stream初体验 我们先来看看Java里面是怎么定义Stream的: A sequence of elements supporting sequential and parallel agg ...

  10. maven编译时出现There are test failures

    [ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.10:test (default-tes ...