배경

배경

배경

저는 PHP 개발자이고 새로운 일을 시작했습니다. 회사는 많은 수의 Docker 인스턴스를 보유하고 있으며 특정 Git 브랜치 확인 등 여러 버전을 시작할 수 있습니다. 시스템은 키 및 액세스 권한과 함께 모든 관련 파일을 복사합니다.

이들이 회전되면 결국 다른 SSH 주소가 생성됩니다. 일반 명령: 예상대로 작동합니다.ssh [email protected]

그러나 저는 여러 개의 키를 사용하여 작업하고 있습니다(그래서 키를 개별적으로 순환하고 개인 키와 개인 키를 관련되지 않은 상태로 유지할 수 있습니다). 시작된 모든 인스턴스는 동일한 키를 사용합니다.

이렇게 하려면 ssh -i [path to key] [user@domain]매번 입력하는 것이 번거롭습니다.

Bash와 MySQL에서는 사용자 이름/비밀번호/무엇이든 입력하라는 메시지를 표시할 수 있습니다 mysql -u -p. 나는 좋은 효과를 얻기 위해 별칭이나 Bash 스크립트를 여러 번 사용했습니다.

별칭을 ssh_test다음으로 설정 ssh -i [path to key]하고 (많은) 입력을 저장하기 위해 주소를 요청하도록 하고 싶습니다.

질문

ssh주소를 묻는 방식으로 이 명령을 어떻게 사용할 수 있습니까?

미리 감사드립니다.

답변1

~/.ssh/config이를 위해 파일을 만듭니다.

# everything else matches this
Host *
  IdentityFile ~/.ssh/id_rsa

Host server1
  Hostname server1.fqdn
  IdentityFile ~/.ssh/server1

Host server2
  Hostname server2.fqdn
  IdentityFile ~/.ssh/server2

Host server3
  Hostname server3.fqdn
  IdentityFile ~/.ssh/server3

예를 들어 SSH 클라이언트를 사용하면 ssh server2SSH 클라이언트가 자동으로 ~/.ssh/server2키를 가져와 사용합니다. Host server2위의 ssh 구성 파일과 일치하기 때문입니다 .

이렇게 하면 ssh anyotherserverSSH 클라이언트가 자동으로 선택되어 사용됩니다 ~/.ssh/id_rsa. Host *위의 ssh 구성 파일과 일치하기 때문입니다 .

답변2

Bash를 사용한다고 가정하면 아래에 키 파일을 지정해야 합니다.

echo “alias ssh_test=‘ssh -i <path/key>’ >> ~/.bashrc

관련 정보