IP가 아닌 이름으로 Linux에 연결


18

Linux를 처음 사용하고 있으며 (현재 Ubuntu 10.04를 실행 중) Linux 시스템에 대한 SSH 액세스 설정을 마쳤습니다. 현재 ssh root@x.x.x.x연결 에 사용해야 하지만 컴퓨터 이름 (Windows와 같은 \\name) 또는 도메인 이름 (와 같은 computername.example.com) 의 IP를 훨씬 많이 교환 할 수 있습니다 .

어디서부터 시작해야할지 잘 모르므로 도움을 주시면 감사하겠습니다. 언급했듯이 천천히 가십시오-나는 여전히 이것에 익숙하지 않습니다.


편집 1

PuTTY를 통해 Windows 7에서 연결하려고한다는 것을 완전히 잊었습니다. 죄송합니다.


LAN 내에서 또는 전 세계 어디에서나 연결을 시도하고 있습니까?
Karl Bielefeldt

6
또한 ssh를 통한 루트 연결을 허용하는 FYI는 일반적으로 보안 측면에서 나쁜 생각으로 간주됩니다. 일반 사용자로 로그인하고 su 또는 sudo를 사용하는 것이 좋습니다.
Karl Bielefeldt

내 LAN과 세계 모두 (세계 액세스를 설정하는 방법을 알고 있다고 생각하지만이 질문은 LAN에 더 적합합니다)-root @는 무엇보다 더 예입니다-실제로 사용자를 사용합니다.
Ryall

모두에게 감사의 말을 전했지만 나는 하나를 골라야 했으므로 가장 자세하게 선택했습니다.
Ryall September

답변:


36

우선 순위에 따라 제로 구성 LAN 검색 프로토콜 :

  • mDNS
    • Apple 제품 및 일부 Linux 프로그램에서 주로 사용되지만 Windows 및 기타 플랫폼에서도 사용 가능합니다. IP 멀티 캐스트를 사용합니다.
    • 이름 조회 및 서비스 검색을 모두 제공합니다.
    • 호스트 이름은 항상 형식 name.local입니다.
    • 소프트웨어:
      • Windows 10.1709 이상에서 기본적으로 지원됩니다 (레지스트리를 통해 활성화해야 함).
      • 오래된 Windows의 Bonjour ;
      • 를 Avahinss_mdns리눅스에;
      • OS X 및 iOS (Android)에서 기본적으로 지원됩니다.
  • LLMNR
    • NetBIOS 이름 서비스의 최신 대안으로 Windows Vista 이상에서 이름을 확인하는 데 사용됩니다.
    • mDNS와 매우 유사하지만 기능이 적습니다. 특히 서비스 검색이 부족합니다 (Windows는이를 위해 WS-Discovery 프로토콜을 사용합니다).
    • NBNS와 같은 베어 호스트 이름을 사용하지만 mDNS와는 다릅니다.
    • 소프트웨어:
      • Windows Vista 이상에서 기본적으로 지원됩니다.
      • systemd-resolvednss_resolve리눅스 (systemd (216)의 일부). .
  • NetBIOS 이름 서비스
    • Windows, OS / 2, MS-DOS에서 사용 된 이전 NetBIOS 네트워크 프로토콜 제품군 의 일부 ... 여전히 사용 중입니다. 새로운 네트워크에서 사용하기 시작한 변명이 아닙니다.
    • Windows에서는 "네트워크 환경"또는 "내 네트워크 환경"이라는 이름 확인 및 서비스 검색 기능을 제공합니다.
    • IPv4 브로드 캐스트 (일부 채팅)를 사용하고, 복잡하고 어리석은 "브라우저 선택"프로토콜이있어 대화를 줄입니다. IPv6이 전혀 지원되지 않습니다.
    • 소프트웨어:
      • Windows 및 OS / 2에서 기본적으로 지원됩니다.
      • nmbdnss_wins(의 일부 삼바 리눅스와 BSD의에);
      • 분명히 OS X도 기본적으로 지원합니까?

종종 미리 구성되는 방법 :

  • 로컬 (내부) 도메인 이름을 사용하는 DNS
    • 홈 게이트웨이에는 로컬 DNS 캐시의 일부로이 내장 기능이 내장되어 있습니다. dnsmasqLinux / BSD 기반 게이트웨이를 설정하는 경우 수동으로 실행할 수있는 규칙적인 경우가 종종 있습니다 .
    • 이들은 DHCP 요청에서 호스트 이름을 가져 와서 dnsmasq 내에 같은 도메인 아래에 등록 home하고 주 DNS 서버로 제공합니다 (DNS 캐시로 작동).
    • 기본적으로 대부분의 운영 체제에서 작동하지만 DHCP (게이트웨이는 정적 IP 호스트의 호스트 이름을 알지 못함)에서만 작동하며 일반적으로 내 경험상 다소 색다른 경향이 있습니다.
    • 소프트웨어:
      • 호스트의 일반 DHCP 클라이언트 호스트 이름 옵션을 보내야합니다.
      • dnsmasq게이트웨이에서. (더 큰 설정은 dhcpd+를 사용할 수 있습니다 named.)

수동 구성과 관련된 방법 :

  • 자신의 도메인 이름을 사용하는 DNS
    • 어디서나 작동합니다. (실제로 인터넷을 통해 연결 하는 데 도움이되지는 않습니다 .)
    • DHCP를 사용하고 DNS 서버를 제어하면 동적 DNS가 가능합니다. 그렇지 않으면 모든 데이터는 정적입니다.
    • 도메인 이름을 소유해야합니다 (몇 달러).
  • 무료 DNS 하위 도메인
    • 여전히 DNS는 무료이며 도메인보다 훨씬 저렴하지만 상당히 제한적입니다. FreeDNSDyn 과 같은 서비스는 자신이 제어하는 ​​도메인 (예 :) 에서 개별 하위 도메인의 등록을 제공합니다 myhost.dyndns.com.
      • 너무 자주, 하위 도메인은 이미 다른 사람에 의해 선택되었습니다 ...
    • 동적 DNS 업데이트가 종종 허용됩니다 (DynDNS 스타일).
  • /etc/hosts
    • IP 주소 – 호스트 이름 쌍을 나열하는 텍스트 파일. 각 클라이언트 시스템에서 수동으로 구성해야합니다.
    • ( %SystemRoot%\system32\drivers\etc\hostsWindows에서)
  • SSH 구성
    • PuTTY 또는 ~/.ssh/configOpenSSH 의 "호스트 이름"필드
    • 수동으로 구성해야합니다.
  • PostIt 은 책상 전체에 노트를 남깁니다.
    • 매우 싸다. 명명 정책이 없습니다. 무한한 데이터 타입.
    • 오히려 신뢰할 수 없습니다. 수동으로 배포해야합니다. TTL이 없으므로 누군가가 알아 차릴 때까지 몇 달 동안 오래된 정보가 캐시됩니다. 쿼리 알고리즘은 비효율적입니다. 쿼리에 대한 응답은 쉽게 손실되는 경향이 있으며 때로는 모니터에 접착제 레코드 만 남습니다. (3 개월 후, 책상 뒤에서 버퍼링 될 수 있습니다.)

7
Haha, PostIt notes 옵션이 마음에 듭니다 :)
Ryall

1
mDNS / Avahi의 경우 +1 Avahi는 기본적으로 많은 배포판에 설치되지만 사용자를위한 패키지 설치 일 수 있습니다.
Broam

1
데비안에서는 Avahi를 수동으로 설치해야합니다.
Martin Ueding 2016 년

2
@grawity 좋은 답변입니다. 한 가지 개선해야 할 점 : 로컬 DNS / DHCP는 등록 된 도메인없이 완벽하게 작동한다는 점을 명심하십시오. 책상 아래에 Raspberry PI를 던져 dnsmasq와 같은 작은 서버를 설정하십시오.
paradoxon

1
@ paradoxon : 고마워, 나는 그것을 언급하는 것을 잊었다. (대부분의 가정용 게이트웨이는 이미 dnsmasq 또는 유사하지만 긁는 것을 실행합니다.)
user1686

4

두 가지 옵션이 있습니다.

  • 모든 서비스 :

에 항목을 넣습니다 /etc/hosts. 기존 줄을 건드리지 말고 새 줄을 추가하십시오.

  • ssh 만 :

사용하려는 이름 으로 Host스탠자를 추가 한 ~/.ssh/config다음 그 아래에 원하는 옵션을 추가하십시오. 자세한 내용 man 5 ssh_config은 참조하십시오.

Host myserver
    Hostname 192.168.123.234
    Protocol 2

4

임의의 컴퓨터에서 Linux 상자에 액세스하려면 도메인 이름이 필요합니다. 동적 DNS 서비스를 사용하여 도메인 이름이 Linux 컴퓨터 (또는 연결된 라우터)를 가리 키도록합니다. 일단 설정하면 Linux 컴퓨터의 IP가 변경되는 것에 대해 걱정할 필요가 없다는 추가적인 이점이 있습니다.


1
간단히 말하면 컴퓨터의 IP 주소는 ISP가 해당 항목을 관리하는 방법에 따라 여전히 변경 될 수 있지만 동적 DNS 서비스는 항상 현재의 모든 것에 매핑되는 도메인 이름을 제공하므로 걱정할 필요가 없습니다. 컴퓨터의 IP 주소입니다.
David Z

4

Windows 7에서 (편집 당) ...

Start -> Run -> notepad c:\windows\system32\drivers\etc\hosts

메모장이 시작되면 파일 맨 아래로 이동하여 IP 주소와 호스트 이름을 추가하십시오.

x.x.x.x    mylinuxhostname mylinuxhostname.domain.com

파일을 저장 한 다음 명령 프롬프트에서 핑을 시도하십시오.

c:\> ping mylinuxhostname
c:\> ping mylinuxhostname.domain.com

이것은 LAN에서만 작동합니다. "세계에서"(댓글이 추가됨)에서 연결하는 것은 DNS (dyndns, godaddy 등) 및 (NAT) 네트워크 주소 변환과 같은 라우터 구성을 포함하는 완전히 다른 짐승입니다.


2

Samba 또는 Winbind를 조사하려고합니다. 모든 Linux 네트워크 (라우터 포함)는 호스트 이름으로 서로 통신 할 수 있지만 Linux 시스템 이름이 무엇인지 Windows에 알리는 방법을 잘 모르겠습니다.


1
내 네트워크는 Avahi (Zeroconf 네트워킹) 때문에이 작업을 수행합니다. Windows에서 Zeroconf 클라이언트 / 서버의 실행 가능성을 모르겠습니다.
Broam

1

또한 Ubuntu 10.04를 사용하고 있으며 이름을 사용하여 내 컴퓨터에 연결할 수 있습니다. 동일한 네트워크에있는 ernie 및 bert라는 컴퓨터가 있다고 가정합니다.

내 프롬프트는 어니에서 다음과 같이 보입니다.

ernie:~$ 

내가 이것을 입력하면 :

ernie:~$ ssh root@bert.local

나는 bert에 뿌리를 내릴 것이다 :

bert:~#

나는 두 개의 우분투 컴퓨터 사이 에서이 작업을 수행하지만 퍼티에서도 작동한다고 생각합니다. (우분투에서 창에 연결하는 방법을 모르겠습니다. 삼바에 대한 다른 답변을 참조하십시오.)

이것이 작동하려면 우분투에 sshd를 설치해야합니다. sudo apt-get install openssh-server


1
이는 기본적으로 설치되는 Zeroconf 데몬 인 Avahi 때문입니다. 이 때문에 어떤 다른 이유 (?. 어쩌면 iTunes가 내가 말할 수있는 하나의 설치)에 그가 클라이언트를하지 않는 한, Windows에서 그를 도와 않을거야
Broam
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.