配置免密登录报错:ssh: Could not resolve hostname note1: Name or service not known

配置SSH免密登录时遇到错误:ssh: Could not resolve hostname note1: Name or service not known。解决步骤包括设置主机名、更新hosts文件、检查JAVA_HOME路径、生成并同步ssh密钥,以及确保authorized_keys文件权限正确。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这两天配置免密出现这个错误:

[root@note4 .ssh]# ssh note1
ssh: Could not resolve hostname note1: Name or service not known

1.设置主机名对不对
查看:hostnamectl
修改:hostnamectl set-hostname 主机名 --static
2.修改
[root@note4 .ssh] vim /etc/hosts

192.168.56.101 note1
192.168.56.102 note2
192.168.56.103 note3
192.168.56.104 note4
note4
3.还有问题就查看jdk: whereis javac
进入hadoop :cd /data/hadoop/,
bin/hadoop找到了就进行第四步。
找不到: vim etc/hadoop/hadoop-env.sh (第54行,查看javahome没有就添加)
添加javahome找到javahome 位置:

`[root@note4 hadoop-3.2.1]# cd /data/hadoop/hadoop-3.2.1/
[root@note4 hadoop-3.2.1]# whereis javac
javac: /usr/bin/javac /usr/share/man/man1/javac.1
[root@note4 hadoop-3.2.1]# ll /usr/java/jdk1.8.0_241-amd64/
总用量 25988
drwxr-xr-x 2 root root     4096 319 13:05 bin
-rw-r--r-- 1 root root     3244 1211 18:35 COPYRIGHT
drwxr-xr-x 3 root root      132 319 13:05 include
-rw-r--r-- 1 root root  5217333 1211 15:41 javafx-src.zip
drwxr-xr-x 5 root root      185 319 13:05 jre
drwxr-xr-x 5 root root      245 319 13:05 lib
-rw-r--r-- 1 root root       44 1211 18:35 LICENSE
drwxr-xr-x 4 root root       47 319 13:05 man
-rw-r--r-- 1 root root      159 1211 18:35 README.html
-rw-r--r-- 1 root root      424 1211 18:35 release
-rw-r--r-- 1 root root 21078837 1211 18:35 src.zip
-rw-r--r-- 1 root root   116400 1211 15:41 THIRDPARTYLICENSEREADME-JAVAFX.txt
-rw-r--r-- 1 root root   169788 1211 18:35 THIRDPARTYLICENSEREADME.txt

将查到的这个放到 vim etc/hadoop/hadoop-env.sh 中54行 ,行号用set nu查:
export JAVA_HOME= /usr/java/jdk1.8.0_241-amd64/
4.bin/hadoop找到了
ssh localhost (登录)
ssh-keygen -t rsa -P ‘’ -f ~/.ssh/id_rsa(生成钥匙)
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys(钥匙放在文件里)
chmod 0600 ~/.ssh/authorized_keys(权限)
进入:cd .ssh/
修改配置文件: vim authorized_keys
下载个插件:yum -y install lrzsz
sz authorized_keys (下载到桌面,把所有虚拟机中的配置文件放在这个里面,进行修改,note1-4)
rz -y (将修改过的这个上传到note1-4)
5.登录 ssh note1 ssh note2 ssh note3 ssh note4
退出:exit

### 解决 SSH 连接节点时主机名解析失败的方法 当遇到 `Could not resolve hostname` 错误提示时,通常意味着客户端无法将给定的主机名转换为 IP 地址。这可能是由于 DNS 配置错误、缺少必要的配置文件条目或其他网络设置问题引起的。 #### 检查本地 hosts 文件配置 为了确保能够正确解析自定义主机名,在 `/etc/hosts` 中添加相应的映射记录是一个简单有效的方式[^1]: 对于 Linux 或 macOS 用户来说,编辑该文件并加入如下行: ```bash 192.168.x.y node1 ``` 其中 `192.168.x.y` 应替换为目标服务器的实际 IP 地址;而 `node1` 则是要访问的目标机器名称。 #### 使用完全限定域名 (FQDN) 如果希望通过DNS服务来实现自动化的主机名解析,则需确认目标设备已注册到内部或外部可访问的DNS服务器上,并尝试使用完整的 FQDN 形式建立连接,例如 `ssh user@node1.example.com`[^2]。 #### 测试连通性和调试命令 可以利用一些工具来进行初步诊断,比如通过 ping 命令测试能否到达远程主机以及 nslookup 来查看是否有正确的DNS响应。 ```bash ping node1 nslookup node1 ``` 以上操作有助于判断问题是出自于本机还是更广泛的网络环境之中。 #### 修改SSH配置文件 另外一种方法是在用户的 `.ssh/config` 文件里指定跳转规则或者直接写入IP地址作为Host字段的一部分,从而绕过可能存在的主机名解析障碍[^3]: ```bash Host node1 HostName 192.168.x.y User your_username Port 22 ``` 这样即使在其他地方仍然存在未解决的名字解析难题,也可以顺利地经由这个特定路径完成登录过程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值