非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 拷贝给对方的同样文件中即可。
原文地址:https://www.cnblogs.com/bjx2020/p/9052198.html
时间: 2024-10-10 23:00:59