![컴퓨터의 IP 주소를 표시하도록 로그인 프롬프트 또는 헤더(/etc/issue)를 수정합니다.](https://rvso.com/image/1302261/%EC%BB%B4%ED%93%A8%ED%84%B0%EC%9D%98%20IP%20%EC%A3%BC%EC%86%8C%EB%A5%BC%20%ED%91%9C%EC%8B%9C%ED%95%98%EB%8F%84%EB%A1%9D%20%EB%A1%9C%EA%B7%B8%EC%9D%B8%20%ED%94%84%EB%A1%AC%ED%94%84%ED%8A%B8%20%EB%98%90%EB%8A%94%20%ED%97%A4%EB%8D%94(%2Fetc%2Fissue)%EB%A5%BC%20%EC%88%98%EC%A0%95%ED%95%A9%EB%8B%88%EB%8B%A4..png)
저는 많은 가상 머신을 사용하여 작업합니다. 테스트 및 사전 제작 설정용입니다.
로그인 프롬프트나 헤더에 컴퓨터의 IP 주소를 표시하고 싶습니다. 그렇게 하면 시작할 때 어떤 IP에 SSH로 연결될지 확인할 수 있습니다. 우리 네트워크는 DHCP를 사용합니다. 따라서 부팅 사이에 변경될 수 있습니다.
$ cat /etc/issue
우분투 11.04 \n \l
다음과 같이 나타납니다.
우분투 11.04 [호스트 이름] tty[x]
나는 그것이
우분투 11.04 [호스트 이름] tty[x] ip xxx.xxx.xxx.xxx
나는 init/upstart 스크립트를 작성하려고 생각하고 있었습니다. 더 좋은 방법이 있습니까?
답변1
Getty는 컴퓨터의 IP 주소를 모릅니다. 하지만 이 질문은 이미서버 결함. 허용되는 답변은 다음과 같습니다.
이것은 단지 텍스트 파일일 뿐입니다. 다른 쉘 스크립트를 사용하여 파일에 텍스트를 보내는 것과 같은 방식으로 파일에 작성합니다. 다음과 같이 /etc/issue를 귀하의 IP 주소로 대체합니다.
ifconfig eth0 | awk '/inet addr/ {print $2}' | cut -f2 -d: > /etc/issue
분명히 파일에서 원하는 정보에 따라 이를 임의로 더 복잡하게 만들 수 있습니다
/etc/issue
.
/etc/rc.d/rc.local
(일반적으로 다른 모든 시작 스크립트 이후에 실행되는) 로컬 파일로 이 파일에 쓸 수 있습니다 .
또한 해당 파일은 /etc/issue.net
원격 로그인에 사용되므로 편집할 수도 있습니다.
답변2
~에센트OS 7그리고데비안 8(그리고 어쩌면 다른 것들도), 다음 줄을 추가하십시오./etc/issue
My IP address: \4
그러면 머신의 IPv4 주소가 확인됩니다. 여러 네트워크 인터페이스가 있고 특정 인터페이스를 선택하려는 경우 다음을 사용하여 지정할 수 있습니다.
My IP address: \4{eth0}
답변3
DHCP 임대 IP를 사용하는 CentOS 5의 경우 다음 스크립트를 사용할 수 있습니다.
$ cat /etc/dhcp/dhclient.d/issue.sh
#!/bin/bash
update_issue() {
awk -v \
r="$(ip -o addr | awk '/inet [1-9]+/ { print $2 " " $4 }')" \
'{ gsub(/%INTERFACES%/,r) }1' \
/etc/issue.template > /etc/issue
}
issue_config() {
update_issue
}
issue_restore() {
update_issue
}
다음과 같은 문제 "템플릿"이 있습니다.
$ cat /etc/issue.template
CentOS release 6.5 (Final)
Kernel \r on an \m
%INTERFACES%
기억해
chmod +x /etc/dhcp/dhclient.d/issue.sh
awk
현재 IP를 가져와 파일에서 바꾸는 명령은 최신 /etc/issue.template
Linux 배포판으로 이식 가능해야 합니다.