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

# 1、登陆192.168.1.10

ssh-keygen -t rsa # 一路回车

# 将公钥添加到认证文件中

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

# 并设置authorized_keys的访问权限

chmod  ~/.ssh/authorized_keys

[root@webserver ~]# cat /root/.ssh/id_rsa.pub                                  
ssh-rsa

AAAAB3NzaC1yc2EAAAABIwAAAQEAxIuTif2tmTqEyhTV2im7UWdETqM+LxCbgudawuD2Wl8Mip6C9KGOC84jsphbPrjcWrYnSWAkdZ/p0uWULjdNWCysugyBWX6PyHKym1dVkjChEbG7fv2xgeuMoTmNK1vaujnFdJUqL40Cg1hRtVgiq9LHKNW9uw9HYpdPeQi3seiwlttPJymfTzvom4FVzcwC81RrlECkVBLsYY4HIfSaDFDardjkAo4PDlqf1XzFyrG20hTRcVpkCty+FYXYHqh3xS+9+XwDv5TysS9c60+qZ9aNxacZ7t9AeZ8XOdUPdaQQXJ3ix6eo+r9CXOPbcBrXqZ4GuWY6fNes7PxWgjtEPw==
root@webserver
[root@webserver ~]#

# 2、然后再目标机器上执行如下操作

useradd deluser
echo "pwddeluser" | passwd --stdin deluser

# 3、切换用户

su - deluser
# 每个节点都执行
ssh-keygen -t rsa # 一路回车
# 将公钥添加到认证文件中
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
# 并设置authorized_keys的访问权限
chmod ~/.ssh/authorized_keys
# 追加到该文件下
cat >>/home/deluser/.ssh/authorized_keys <<"EOF"
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAxIuTif2tmTqEyhTV2im7UWdETqM+LxCbgudawuD2Wl8Mip6C9KGOC84jsphbPrjcWrYnSWAkdZ/p0uWULjdNWCysugyBWX6PyHKym1dVkjChEbG7fv2xgeuMoTmNK1vaujnFdJUqL40Cg1hRtVgiq9LHKNW9uw9HYpdPeQi3seiwlttPJymfTzvom4FVzcwC81RrlECkVBLsYY4HIfSaDFDardjkAo4PDlqf1XzFyrG20hTRcVpkCty+FYXYHqh3xS++XwDv5TysS9c60+qZ9aNxacZ7t9AeZ8XOdUPdaQQXJ3ix6eo+r9CXOPbcBrXqZ4GuWY6fNes7PxWgjtEPw== root@webserver
EOF

# 4、root用户下追加该如下内容

cat >>/etc/sudoers<<"EOF"
deluser ALL=NOPASSWD:/bin/rm -f /tmp/x.log
EOF
echo "" >/tmp/x.log
# 192.168..10上执行 测试
ssh -p -t deluser@192.168.1.56 "sudo rm -f /tmp/x.log" # 必须执行测试,需要输入 yes ,因为第一次需要记住登陆信息 # 这样就在192.168.1.10执行 ssh -p -t deluser@192.168.1.56 "sudo rm -f /tmp/x.log"
# 就会删除 192.168.1.56 的 /tmp/x.log 这个文件
# 再次执行就不再需要输入任何信息了 # 注意这个是单向互信,如果需要双向的话,将其/home/deluser/.ssh/authorized_keys 拷贝给对方的同样文件中即可。

非root用户ssh 执行 sudo远程机器免密钥的更多相关文章

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

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

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

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

  3. Centos 非root用户安装rabbitmq

    RabbitMQ是一个开源消息队列服务器,您可以使用它来构建您的消息传递应用程序.简单地说,您可以将来自一个应用程序的消息放入队列,并从来自相同应用程序或不同应用程序的队列中检索消息.您可以使用多种编 ...

  4. fedora 非root用户访问socket 没用权限

    在非root用户下执行基于Libpcap库编写的应用程序时不能正常运行,原因是由于libpcap库使用raw socket的套接字.而Raw Socket的使用需要root权限,否则raw socke ...

  5. linux非root用户执行开机启动程序

    问题 开机启动其他用户的程序或者说非root用户执行开机启动 编写开机启动脚本 编写开机启动脚本apple_tree,放到/etc/init.d,系统启动时会自动执行. 例如,/etc/init.d/ ...

  6. 非root用户执行程序---sudo的使用

    场景 在应用部署过程中,会遇到这样的问题:前期需要root用户执行配置.初始化工作,而具体的业务应用需要使用非root用户启动. 如何解决呢? 方法 可以使用sudo,实现授权. sudo命令授权,既 ...

  7. Linux系统下给非root用户添加sudo权限

    Linux系统下给非root用户添加sudo权限 有时,在linux系统中非root用户运行sudo命令,会提示类似信息:  xxx is not in the sudoers file. This ...

  8. 三台机器之间root用户ssh互信配置

    三台机器之间root用户ssh互信配置 (1)在所有的主机上执行:ssh-keygen -t rsa # 在每台都需要操作,一路回车 (2)将所有机子上公钥(id_rsa.pub)导到一个主机的/ro ...

  9. 如何以非 root 用户将应用绑定到 80 端口-ssh 篇 » 社区 » Ruby China

    如何以非 root 用户将应用绑定到 80 端口-ssh 篇 » 社区 » Ruby China 如何以非 root 用户将应用绑定到 80 端口-ssh 篇

随机推荐

  1. Microsoft Bot Framework with LUIS

    今年微软的编程之美的主题是“对话即平台”,“人工智能”,要求参赛选手用到Bot Framework与Cognitive Services. 大多数人应该对这两个技术都不怎么熟悉吧,我就在这里写写自己所 ...

  2. Deploy .NET Core with Docker

    Creating a .NET Core project If you already have an existing .NET Core project you are more than wel ...

  3. JS 强制类型转化

    在Js中, 强制类型转化分为两种情况: 一种是引用类型转化基本类型, 如数组转化成数字:一种是两种不同基本类型之间的转化,如字符串转化为数字.你不能将基本类型转化成引用类型,比如,不可能把数字转化为数 ...

  4. JSON笔记

    JSPN示例1: { "firstName": "Brett", "lastName":"McLaughlin", &q ...

  5. POJ 2245 Addition Chains(算竞进阶习题)

    迭代加深dfs 每次控制序列的长度,依次加深搜索 有几个剪枝: 优化搜索顺序,从大往下枚举i, j这样能够让序列中的数尽快逼近n 对于不同i,j和可能是相等的,在枚举的时候用过的数肯定不会再被填上所以 ...

  6. 【cf849ABC】

    849A - Odds and Ends 问能否将序列划分为奇数个长度奇数的奇数开头奇数结尾的子区间. 一开始想dp..不过没必要. const int N=201000; int n,a[N]; i ...

  7. Linux 源码安装 Python3

    下载源码包https://www.python.org/downloads/ 解压(以3.64版本为例)wget https://www.python.org/ftp/python/3.6.4/Pyt ...

  8. 反射中Class.forName()和classLoader的区别

    搞清楚两者之间区别前,我们来了解下类加载过程. 一.类加载过程 1.加载 通过一个类的全限定名来获取定义此类的二进制字节流. 将这个字节流所代表的静态存储结构转化为方法区的运行时数据结构. 在内存中生 ...

  9. [SPOJ913]QTREE2 - Query on a tree II【倍增LCA】

    题目描述 [传送门] 题目大意 给一棵树,有两种操作: 求(u,v)路径的距离. 求以u为起点,v为终点的第k的节点. 分析 比较简单的倍增LCA模板题. 首先对于第一问,我们只需要预处理出根节点到各 ...

  10. 简单使用TFS管理源代码

    今天研究使用了一下TFS,主要是想管理源代码.不涉汲团队管理. 使用环境W10专业版  / VS2017 社区版 / SQLSERVER2016  / TFS2017 EXPRESS版本 1.下载和安 ...