首页
编程随笔
Java笔记
Html/Css/Js
Android
后端笔记
服务器搭建
BUG收集
Java异常
Android异常
在线工具
Json格式化
编码/解码
Epub在线编辑
登录
发布文章
个人文章
退出登录
首页
技术教程
BUG收集
在线工具
资源下载
登录
发布文章
退出登录
搜索
当前位置:
首页
-
博客
- 正文
关闭
linux下两台或多台主机之间免密登录
更新时间:2023-06-19 11:20:31
阅读数:763
发布者:落幕
### 1.先分别查看两台主机的主机名和ip(可省略,用ip即可) ```sh //查看主机名 hostname // 查看ip ifconfig ``` [![免登陆图片](https://www.speechb.com/blog/no_pwd_login/no_pwd_test1.png)](https://www.speechb.com/blog/no_pwd_login/no_pwd_test1.png) 修改主机名称 [http://blog.speechb.com/detail/965432a2b7404005bf75543d8a9bf4ee](http://blog.speechb.com/detail/965432a2b7404005bf75543d8a9bf4ee "http://blog.speechb.com/detail/965432a2b7404005bf75543d8a9bf4ee") ### 2.在两个用户下分别在里边添加两个用户的ip和主机名 注意这里的两个主机之间的ip要在同一个网段上(可省略,用ip即可) vi /etc/hosts [![免登陆图片](https://www.speechb.com/blog/no_pwd_login/no_pwd_test2.png)](https://www.speechb.com/blog/no_pwd_login/no_pwd_test2.png) ### 3.两台主机都分配置好之后,分别测试一下是否成功,都能ping通之后接着下一步 ```sh ping 主机1的用户名/主机1ip ping 主机2用户名/主机2ip ``` [![免登陆图片](https://www.speechb.com/blog/no_pwd_login/no_pwd_test3.png)](https://www.speechb.com/blog/no_pwd_login/no_pwd_test3.png) ### 4.开始配置免密登录,这里以主机1免密登录主机2为例 在主机1上执行 ssh-keygen -t rsa //输入之后连续按四次回车键 [![免登陆图片](https://www.speechb.com/blog/no_pwd_login/no_pwd_test4.png)](https://www.speechb.com/blog/no_pwd_login/no_pwd_test4.png) ### 5.查看产生的文件,会看到产生了两个文件 在主机1上执行 cd .ssh [![免登陆图片](https://www.speechb.com/blog/no_pwd_login/no_pwd_test5.png)](https://www.speechb.com/blog/no_pwd_login/no_pwd_test5.png) ### 6.输入 在主机1上执行 ssh-copy-id 主机2的主机名 输入之后按回车,会有如下提示,按下图操作即可 [![免登陆图片](https://www.speechb.com/blog/no_pwd_login/no_pwd_test6.png)](https://www.speechb.com/blog/no_pwd_login/no_pwd_test6.png) **到这里主机1免密登录到主机2就配置完了,如果要主机2免密登录到主机1,切换到主机2,重复上边步骤4~6即可。 ** ### 总结: 配置免密登录,在主机Master下执行如下命令 ```sh #方法一 ssh-keygen -t rsa #执行命令后连续按4次回车 cd ~/.ssh/ cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys scp ~/.ssh/authorized_keys root@123 scp ~/.ssh/authorized_keys root@123 #这里的root是用户名,如果你使用的是其他用户,那就对应的改为其他用户 #这里的123是要免密登录的主机的名字 #方法二 ssh-keygen -t rsa #执行命令后连续按4次回车 cd ~/.ssh/ cp ~/.ssh/id_rsa.pub ssh-copy-id 主机1的主机名 ssh-copy-id 主机2的主机名 ``` ### 常见问题 免密失败日志查看 tail -f /var/log/secure 错误日志:Connection closed by 114.116.121.133 port 57340 [preauth] 解决方法 vi /etc/ssh/sshd_config ```shell Port <你的随机端口号> PermitRootLogin yes # 开启 root 登录 PasswordAuthentication yes # 确保开启密码认证 PubkeyAuthentication yes # 确保启用公钥认证(不开启无法免密登录) ``` 修改完毕后,重新加载 SSH 配置: sudo systemctl reload sshd