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

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

# 1、登陆192.168.1.10

ssh-keygen -t rsa # 一路回车

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

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


# 并设置authorized_keys的访问权限

chmod 600 ~/.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 600 ~/.ssh/authorized_keys
# 追加到该文件下
cat >>/home/deluser/.ssh/authorized_keys <<"EOF"
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAxIuTif2tmTqEyhTV2im7UWdETqM+LxCbgudawuD2Wl8Mip6C9KGOC84jsphbPrjcWrYnSWAkdZ/p0uWULjdNWCysugyBWX6PyHKym1dVkjChEbG7fv2xgeuMoTmNK1vaujnFdJUqL40Cg1hRtVgiq9LHKNW9uw9HYpdPeQi3seiwlttPJymfTzvom4FVzcwC81RrlECkVBLsYY4HIfSaDFDardjkAo4PDlqf1XzFyrG20hTRcVpkCty+FYXYHqh3xS+9+XwDv5TysS9c60+qZ9aNxacZ7t9AeZ8XOdUPdaQQXJ3ix6eo+r9CXOPbcBrXqZ4GuWY6fNes7PxWgjtEPw== root@webserver
EOF

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

cat >>/etc/sudoers<<"EOF"
deluser   ALL=NOPASSWD:/bin/rm -f /tmp/x.log
EOF
复制代码
echo "123" >/tmp/x.log
# 192.168.1.10上执行 测试
ssh  -p 22879     -t deluser@192.168.1.56  "sudo rm -f /tmp/x.log"  # 必须执行测试,需要输入 yes ,因为第一次需要记住登陆信息

# 这样就在192.168.1.10执行 ssh  -p 22879     -t deluser@192.168.1.56  "sudo rm -f /tmp/x.log" 
# 就会删除 192.168.1.56 的 /tmp/x.log 这个文件
# 再次执行就不再需要输入任何信息了

# 注意这个是单向互信,如果需要双向的话,将其/home/deluser/.ssh/authorized_keys 拷贝给对方的同样文件中即可。
复制代码

 



posted @   davie2020  阅读(2366)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下
点击右上角即可分享
微信分享提示