1. 程式人生 > >非root用戶ssh 執行 sudo遠程機器免密鑰

非root用戶ssh 執行 sudo遠程機器免密鑰

MF nop dde color 文件 必須 ssh 操作 dup

  非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 拷貝給對方的同樣文件中即可。



非root用戶ssh 執行 sudo遠程機器免密鑰