分布式系统中需要将远程主机部署成免密码,直接使用主机名登录远程主机,
最近接手个分布式项目,开始学习linux,才接触linux,摸索如何实现仅使用
主机名就能使用某个用户登录远程主机。
一番摸索下来总结了两种方法。
先在远程主机上创建用户我创建的用户是admin
修改主机名,修改/etc/sysconf/network中HOSTNAME配置项我修改为node1
先使用root或者具有sudo权限的用户登录远程主机remote-host node1
ssh user@remote-host-IP
sudo useradd -d /home/admin1 -m admin1
sudo passwd admin1
然后为admin用户添加sudo权限
echo "admin1 ALL = (root) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/admin1
sudo chmod 0440 /etc/sudoers.d/admin1
方法如下:
1、 在本地主机上运行ssh-keygen命令生成密匙
2、 运行ssh-copy-id admin1@rrmote-host-IP命令将密匙拷贝到远程主机对应目录下
3、 在/etc/hosts中加入远程主机的主机IP和主机名
4、 在/.ssh/config中添加用户和主机名
Host node1
Hostname node1
User admin1
做完这些就可以建立使用ssh remote-hostname直接连接远程主机remote-host的admin1用户
经过几天的学习,感觉linux系统真的很好用,这篇博文,纯属个人所见,有什么不足之处,请大家批评指正。
在分布式系统中,本文介绍了如何在Linux环境下通过修改主机名和配置SSH,实现使用主机名无密码登录远程主机。步骤包括创建用户、修改主机名、添加sudo权限,以及生成和复制SSH密钥。通过这些操作,可以便捷地使用ssh命令连接远程主机。
439

被折叠的 条评论
为什么被折叠?



