CentOS ssh免密登陆操作

以下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 来验证是否成功。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值