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

Posted davie_2020

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了非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

[[email protected] ~]# cat /root/.ssh/id_rsa.pub                                  
ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAxIuTif2tmTqEyhTV2im7UWdETqM+LxCbgudawuD2Wl8Mip6C9KGOC84jsphbPrjcWrYnSWAkdZ/p0uWULjdNWCysugyBWX6PyHKym1dVkjChEbG7fv2xgeuMoTmNK1vaujnFdJUqL40Cg1hRtVgiq9LHKNW9uw9HYpdPeQi3seiwlttPJymfTzvom4FVzcwC81RrlECkVBLsYY4HIfSaDFDardjkAo4PDlqf1XzFyrG20hTRcVpkCty+FYXYHqh3xS+9+XwDv5TysS9c60+qZ9aNxacZ7t9AeZ8XOdUPdaQQXJ3ix6eo+r9CXOPbcBrXqZ4GuWY6fNes7PxWgjtEPw== [email protected]
[[email protected] ~]#

# 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== [email protected]
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 [email protected]192.168.1.56  "sudo rm -f /tmp/x.log"  # 必须执行测试,需要输入 yes ,因为第一次需要记住登陆信息

# 这样就在192.168.1.10执行 ssh  -p 22879     -t [email protected]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远程机器免密钥的主要内容,如果未能解决你的问题,请参考以下文章

linux系统ssh免密钥登录配置

linux配置免密登录

通过ssh远程执行命令导入定时任务报错----解决过程

linux机器免密

linux下配置远程免密登录方法教程

Linux ssh免密钥认证