目录
1.控制主机和受控主机通过root用户通过免密验证方式远程控住受控主机实施对应(普通命令,特权命令)
2.控制主机连接受控主机通过普通用户以免密验证远程控住受控主机实施指定(普通命令,特权命令)任务操作。
1.控制主机和受控主机通过root用户通过免密验证方式远程控住受控主机实施对应(普通命令,特权命令)
(1)控住主机--server
通过主机名匹配对应连接的受控主机
[root@server ~]#vim /etc/hosts (编辑本地主机hosts文件,可以实现通过IP地址,主机名,域名多种形式访问)
192.168.138.138 node1 node1.exmaple.com
192.168.138.139 node2 node2.exmaple.com
(2)制作秘钥
[root@server ~]# ssh-keygen -t rsa
(3)发送密钥
[root@server ~]# ssh-copy-id -i node1
[root@server ~]# ssh-copy-id -i node2
(4)验证免密
[root@server ~]# ssh node1
[root@server ~]# ssh node1 hostname
node1.example.com
[root@server ~]# ssh node2 hostname
node2.example.com
vim /etc/ansible/hosts(主机清单信息)
2.控制主机连接受控主机通过普通用户以免密验证远程控住受控主机实施指定(普通命令,特权命令)任务操作。
(1)控住端和受控端都需要有对应的普通身份
(2)[redhat@server ~]$ ssh-keygen -t rsa -P '' -q -f ~/.ssh/id_rsa
(非交互式 p''指定密码为空 q静默操作 f生成密钥德存放路径)
[redhat@server ~]$ ll .ssh/
total 12
-rw-------. 1 redhat redhat 2610 Dec 30 16:57 id_rsa
-rw-r--r--. 1 redhat redhat 579 Dec 30 16:57 id_rsa.pub
-rw-r--r--. 1 redhat redhat 182 Dec 30 16:55 known_hosts
(3)[li@server ~]$ ssh-copy-id -i li@node1
[li@server ~]$ ssh-copy-id -i node2
(4)测试免密配置
[li@server ~]$ ssh node1 hostname
node1.example.com
(5)[lit@server ~]$ ssh node1 sudo useradd user1 ---控制端主机sudo提权(----报错)
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
sudo: a terminal is required to read the password; either use the -S option to read from standard input or configure an askpass helper
所以在受控主机通过/etc/sudoers授权
第一种[root@node1 ~]# cat /etc/sudoers | grep -C 1 li 查看是否授权
vim /etc/sudoers (在受控端 编辑)
root ALL=(ALL) ALL
li ALL=(ALL) NOPASSWD: ALL
(第一个 all表示授权主机 第二个表示对应主机德用户身份) ()
第二种[root@node2 ~]# cat /etc/sudoers | grep wheel
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) NOPASSWD: ALL
[root@node2 ~]# gpasswd -a li wheel (将用户LI加入wheel组 后续一些权限不需要密码验证)
Adding user redhat to group wheel
[li@server ~]$ ssh node1 sudo useradd user1 --sudo授权成功
[li@server ~]$ ssh node1 id user1
uid=1001(user1) gid=1001(user1) groups=1001(user1)