배경
저는 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 server2
SSH 클라이언트가 자동으로 ~/.ssh/server2
키를 가져와 사용합니다. Host server2
위의 ssh 구성 파일과 일치하기 때문입니다 .
이렇게 하면 ssh anyotherserver
SSH 클라이언트가 자동으로 선택되어 사용됩니다 ~/.ssh/id_rsa
. Host *
위의 ssh 구성 파일과 일치하기 때문입니다 .
답변2
Bash를 사용한다고 가정하면 아래에 키 파일을 지정해야 합니다.
echo “alias ssh_test=‘ssh -i <path/key>’ >> ~/.bashrc