如何通过机器名hostname访问机器


1.背景

也许你自己已经拥有了服务器,也许你工作中,公司有服务器供你使用,可是你发现没有,你为什么可以直接通过机器名字,就能直接访问另外一台机器,例如:
 

[root@master ~]# ssh root@node1
root@node1's password: 

如果你自己已经几台服务器了,可是如何将几套机器实现快速通过name连接呢,也许你之前直接根据公网ip可以实现连接,但是每次都得获取公网ip不会很麻烦吗,所以我希望可以快速实现自己机器的互连,最好还能免密

2.操作

先给大家介绍一个命令hostnamectl -h查看帮助

[root@master ~]# hostnamectl -h
hostnamectl [OPTIONS...] COMMAND ...

Query or change system hostname.

  -h --help              Show this help
     --version           Show package version
     --no-ask-password   Do not prompt for password
  -H --host=[USER@]HOST  Operate on remote host
  -M --machine=CONTAINER Operate on local container
     --transient         Only set transient hostname
     --static            Only set static hostname
     --pretty            Only set pretty hostname

Commands:
  status                 Show current hostname settings
  set-hostname NAME      Set system hostname
  set-icon-name NAME     Set icon name for host
  set-chassis NAME       Set chassis type for host
  set-deployment NAME    Set deployment environment for host
  set-location NAME      Set location for host

如果你的机器名字很繁琐,先把你机器的名称改得好听一点吧

[root@instance-6qpd67vu ~]# hostnamectl set-hostname master

重新登陆发现你的名称已经改为master

同样的道理将你的其他机器改为node1....

3.实现名称解析ip

[root@master ~]# vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost
127.0.0.1 instance-9qans59e594.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.0.6 instance-9qans59e59 instance-9qanss59e59.novalocal
106.10.27.41 master
106.11.2.108 node1

最后两行信息就是做的ip映射吧,这样你就可以直接ssh root@node1,访问node1的机器,不用在关心公网ip

并且,远程传输文件时,也是可以直接使用hostname的,例如scp test.sh root@node1:/home/work/

至于机器之间的免密登陆,需要去生成相应的密钥,私钥,我希望有个门神一样的东西,给一个公共入口。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值