공개 키를 원격 시스템에 복사 할 수 있습니다. 공개 키 인증이 활성화되어 있고 공개 키가 원격 시스템에 존재 ssh
하는 한 암호를 제공하지 않고도 시스템에 액세스 할 수 있습니다 .
먼저 다음과 같이 공개 / 개인 키 쌍을 생성해야합니다.
ssh-keygen -t rsa
지시를 따릅니다. 암호로 키를 보호 할 것인지 물으면 예라고 말합니다. 키를 암호로 보호하지 않는 것은 좋지 않습니다. 가끔 암호를 한 번만 입력하는 방법을 보여 드리겠습니다.
키 쌍이 이미 있으면 위의 단계를 건너 뛸 수 있습니다.
이제 ssh 키가 Mac에 존재한다고 가정하면 다음 ~/.ssh/id_rsa.pub
을 실행하여 원격 컴퓨터에 설치할 수 있습니다.
cat ~/.ssh/id_rsa.pub | ssh user@123.45.56.78 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
위에서 인용 한 특정 서버 예제의 경우 명령은 다음과 같습니다.
cat ~/.ssh/id_rsa.pub | ssh -p 2200 root@123.456.789.012 "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
root@123.456.789.012
이 복사를 수행 하려면 비밀번호를 입력 해야하지만 마지막으로 비밀번호를 입력 해야합니다. 원격 서버 sshd
가 공개-개인 키 인증을 수행하도록 설정 되었다고 가정하면 상자에 ssh를 입력하면 root
계정 암호를 묻지 말고 대신 키 암호를 묻습니다 . 항상 입력 할 필요가없는 것을 만드는 방법에 대해 읽으십시오.
암호 대신 키를 사용하여 ssh하려는 모든 시스템에 대해 위의 과정을 반복하십시오.
참고하시기 바랍니다 누군가 당신의 보류 얻을 ~/.ssh/id_rsa
파일로이 기계에 ssh를 수있는 root
원격 시스템의 암호를 제공하지 않고. 키 파일을 암호로 보호하면 키 파일을 사용하기 위해 해당 키의 암호를 알아야합니다. 파일이 안전한지 확인하십시오. Mac에서 디스크 암호화를 사용하고 파일 및 ~/.ssh/
디렉토리 에 대한 권한을 엄격하게 유지하십시오 .
매번 암호를 입력 할 필요없이 키를보다 쉽게 사용할 수 있도록 OS X은 ssh-agent
컴퓨터의 백그라운드에서 프로세스를 실행합니다 . 이 에이전트는 처음 사용할 때 키 쌍을 캐시하므로 비밀번호를 한 번만 입력하면됩니다. Mac을 잠자기 만하고 다시 시작하지 않으면 암호를 입력하지 않아도 오랜 시간이 걸릴 수 있습니다.
다음 ssh-agent
을 실행 하여 모든 SSH 키를 사전 캐시 할 수 있습니다 .
ssh-add
이제 여러 계정 비밀번호가 아닌 키 비밀번호 만 기억하면 됩니다 . 나는 일반적으로 키 비밀번호를 1Password (가맹 없음)로 유지 하여 기억해야 할 비밀번호의 수를 더 단순화합니다. 그런 다음 1Password에서 찾은 다음 Mac에서 재시동 할 때 이상한 시간을 터미널에 잘라 붙여 넣어 달리기 ssh-agent
를 다시 시작합니다.
이 질문에서 원격 컴퓨터에 키 복사를 Terminal.app 연결 관리 솔루션과 결합 하면 GUI 연결 경험을 위해 PuTTY에 매우 가까운 것이 있습니다.
서버 측에서 다음을 확인 /etc/ssh/sshd_config
하고 확인하십시오.
PubkeyAuthentication yes
구성에서 활성화됩니다 (기본적으로 OpenSSH에서). 다음을 설정할 수도 있습니다.
PasswordAuthentication no
그 동안 암호 기반 인증이 비활성화되고 키가 컴퓨터에 액세스하는 유일한 방법이됩니다.
구성 파일을 변경 한 경우 시스템에서 sshd를 다시 시작해야합니다.