SSH를 사용할 때 주소를 영구적으로 저장


12

터미널을 통해 연결하는 몇 개의 원격 서버가 있습니다. 서버에는 도메인이 없으며 몇 개를 얻었을 때 기억하기 어려운 IP 주소 만 있습니다.

터미널에 값을 영구적으로 저장하여 다음을 수행 할 수있는 방법이 있습니까?

server1 = 111.222.111.222

그리고 다음과 같은 명령을 입력하십시오 :

ssh root@server1

대신에:

ssh root@111.222.111.222

답변:


22

SSH 연결의 경우 사용자 구성 파일을 작성 ~/.ssh/config하고 맵핑을 여기에 배치 할 수 있습니다.

Host server1
  Hostname      111.222.111.222

Port(비표준 포트의 경우) 및 User(원격 시스템의 사용자 이름이 로컬 시스템의 사용자 이름과 다른 경우에 유용한 ) 다른 필드를 쉽게 추가 할 수 있습니다 . 자세한 내용 man ssh_config은 참조 하십시오.


14

예, 파일에 적어 두십시오 /etc/hosts. 다음과 같은 구문이 있습니다.

1.2.3.4 servername additional_servername

어디:

  • 1.2.3.4 IP 주소입니다
  • servername 이름입니다
  • additional_servername 선택적 이름입니다

저장 한 후에는 이름으로 서버에 연결할 수 있습니다.


@theusual이 답변이 함께 제공되는 답변이라면 수락하십시오 (위 / 아래 투표 버튼 아래의 확인 표시).
jpmc26

8

물론 특정 문제에 대해서는 @chaos 및 @steeldriver 조언을 따르고 싶지만 일반적으로 "터미널에 값을 영구적으로 저장"하기 위해 쉘 변수를 찾고 있습니다. 그것들을 설정하는 방법은 쉘에 달려 있습니다 ( echo $SHELL관련 정보를 제공 할 것입니다).

에 의한 경우 "오랫동안 나는이 터미널 세션을 종료하지 않는 한대로", 당신은 간단하게 사용할 수있는 "영구적으로"당신은 의미 export server1=111.222.111.222당신이 사용하는 경우 명령을 bash기반 쉘 ( setenv server1 111.222.111.222A의 csh/tcsh기반 쉘 내가 정확히 기억 경우). 그런 다음를 앞에하여 변수에 액세스 할 수 있습니다 $ : ssh root@$server1.

"영구적으로"가 "새 터미널을 시작할 때마다"를 의미한다면, 쉘 init 파일 중 하나에 변수를 설정해야합니다. 의 예 $HOME/.bashrcbash기반 쉘, 또는 $HOME/.cshrc아마도 이전 단락에서 했나요와 같은 구문을 사용하여 -. source $HOME/.bashrc변경 사항을 적용 하려면 init 파일을 소싱해야합니다 (예 : 새 셸을 열어야 함).

NB : 메모리에서 응답하며 약간의 조정이 필요할 수 있습니다.


2
컴퓨터를 다시 시작한 경우에도 영구적으로 말합니다. 이것에 대해 살펴 보겠습니다. 시간이 좀 걸릴 수 있습니다.
주제별

그런 다음 두 번째 방법이 적용됩니다 (쉘 초기화 파일).
Skippy le Grand Gourou

1

질문에 대한 직접적인 대답은 아닙니다 (카오스와 스틸 드라이버는 이미 최고의 리터럴 솔루션이라고 생각하는 것을 제공했습니다). 대부분의 경우 한 주소에서 한 사용자에게만 ssh 해야하는 경우 편집을보고 .bash_aliases전체 터미널 명령에 대한 별명을 작성할 수 있으므로 홈 디렉토리 의 파일이 유용해야합니다.


0

구체적인 답변은 매우 좋습니다.

그러나 일반적으로 쉘에 정의 / 설정을하고 싶다면 스크립트를 작성하고 설정을 적용 source하거나 실행 .하려는 스크립트를 작성하십시오 .

항상 원하는 경우 .profile (로그인 쉘의 경우) 또는 모든 쉘 (bash를 사용하는 경우)의 .bashrc에서 소스를 제공 할 수 있습니다.

이와 같은 접근 방식을 사용하면 다른 스크립트를 먼저 호출 한 후 하나를 호출 한 경우 서로 밟지 않는 한 필요에 따라 다른 작업 환경을 설정하는 여러 스크립트를 가질 수 있습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.