以下3步操作在跳板机
和需要跳转到的目标server
上同时操作, 以root身份操作。
①、useradd ${USERNAME} -m
②、passwd ${USERNAME} / ${PASSWORD}
③、增加被赋权用户的sudo权限(如果不想提升为root,可不操作)
涉及到对/etc/sudoers
文件的修改,因为该文件为只读属性
,一种推荐的便捷操作方式为:
打开vim编辑器,添加如下内容:
vim /etc/sudoers
#(添加在这句之后)
## Same thing without a password
%david_admin ALL=(ALL) NOPASSWD: ALL
操作完成后,使用!wq
强制保存退出。
以下为常规的赋权操作。
- a).对
/etc/sudoers
文件进行赋权操作,否则无法对新的用户添加sudo 权限:
cd /etc;
sudo chmod 640 sudoers
这里有个坑:
如果权限不慎赋值成了666 或 777了,那么将会报如下错误:
sudo: /etc/sudoers is world writable
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin
解决方法:
pkexec chmod 0440 /etc/sudoers
- b).sudoers文件权限修改完后,增加被赋权用户的sudo su切换到root的权限。
%david_admin ALL=(ALL) NOPASSWD: ALL
- c).重新修改sudoers用户权限: sudo chmod 440 /etc/sudoers
修改后,查看:
-r–r----- 1 root root 3985 Jun 27 17:18 /etc/sudoers
以下几步操作在跳板机需要跳转到的目标server
上操作。
④、跳板机上切换到${USERNAME}
账户(如david_admin),执行ssh-keygen -t rsa
生成${USERNAME}公密钥
⑤、跳板机远程登录到目标各个主机
,以root身份逐个生成${USERNAME}账户
. 切换到${USERNAME}
账户(如david_admin), 并执行ssh-keygen -t rsa
生成${USERNAME}公密钥
;
⑥、跳板机上,在${USERNAME}
账户(如david_admin)下,依次执行如下命令:
ssh-copy-id -i ~/.ssh/id_rsa.pub "-p ${TARGET_SERVER_SSH_PORT} ${USERNAME}@${TARGET_SERVER_IP}"
如果报错如下:
ssh: connect to host 111.111.111.111 port 22: Connection refused
则语法上要加上端口号标识,范例如下:
ssh-copy-id -i ~/.ssh/id_rsa.pub "-p 22222 david_admin@111.111.111.111"
⑤、验证流程:
ssh 远程主机IP 来验证是否成功。