
.bashrc
SSH를 통해 로그인할 때 를 실행하는 동안 접속하고 있는 호스트의 이름을 알고 싶습니다 .
Ubuntu Server는 다음 프롬프트를 표시합니다.
Last login: Fri Feb 14 11:34:55 2014 from somehost.local
...그래서 이 정보는 어딘가에서 구할 수 있습니다.
어떻게 접근할 수 있나요?
답변1
다음을 입력하는 경우:
who
로그인한 사용자에 대한 정보를 볼 수 있습니다. 무엇보다도 그들이 로그인한 호스트를 볼 수 있습니다. 예를 들어, 지금 내 노트북은 다음을 반환합니다.
who -u
darent tty6 2014-02-14 01:15 11:02 20339
darent tty7 2014-02-14 23:15 antic 31827 (:0)
darent pts/7 2014-02-14 23:14 00:46 30246 (helena.local)
darent pts/1 2014-02-14 23:16 . 1466 (:0)
darent pts/9 2014-02-14 23:19 00:25 302 (:0)
helena.local은 SSH를 통해 연결된 컴퓨터입니다.
답변2
ssh
$SSH_CONNECTION
공백으로 구분된 클라이언트 IP 주소, 클라이언트 포트 번호, 서버 IP 주소 및 서버 포트 번호를 포함하도록 환경 변수를 설정합니다 .
당신이 사용할 수있는
echo ${SSH_CONNECTION%% *}
클라이언트의 IP 주소를 얻으려면. DNS 이름을 얻으려면 다음과 같은 것을 사용 host
하십시오 dig -x
.
host ${SSH_CONNECTION%% *}
답변3
Last login: Fri Feb 14 11:34:55 2014 from somehost.local
이 줄에는 현재 로그인이 아닌 이전 로그인의 호스트가 표시됩니다.
그만큼who
-방법나를 위해 일합니다. 더 나은:who -m
SSH_CONNECTION
예를 들어 를 호출하여 하위 프로세스를 시작하면 변수가 손실됩니다 su
.