사용자의 Authorized_keys에 공개 SSH 키를 추가하세요.

사용자의 Authorized_keys에 공개 SSH 키를 추가하세요.

Arch Linux를 실행하는 서버의 문제를 해결해야 합니다. 다른 개발자가 나에게 루트 액세스용 키가 포함된 이메일을 보냈고 다음과 같은 내용을 썼습니다. "루트로 로그인하고 공개 SSH 키를 업로드한 후 사용자 xxx의 인증 키에 추가해야 합니다."

그는 노드 애플리케이션을 실행할 사용자를 만들었습니다. authorized_keys해당 사용자로 SSH를 실행할 수 있도록 응용 프로그램을 실행하는 데 사용하는 사용자 에게 추가해야 하는 공개 키 파일이 있습니다 .

내 문제는 이 작업을 수행하는 명령을 모른다는 것입니다. 내 로컬 컴퓨터의 파일을 사용하여 이 작업을 수행하는 방법을 알고 싶습니다. 아니면 루트 디렉터리에서 authenticate_keys를 복사하면 됩니다.

답변1

키를 에 보내고 /tmp에 연결하세요 authorized_keys.
다음 명령에서 및 를 바꾸십시오 SERVER.USER

scp ~/.ssh/id_rsa.pub root@SERVER:/tmp/id_andre_luiz
ssh root@SERVER
cat /tmp/id_andre_luiz >> ~/.ssh/authorized_keys

파일을 덮어쓰는 대신 파일 에 추가하려면 >>(단일 가 아닌 ) 사용에 주의하세요 .>authorized_keys

답변2

나는 이렇게 한다:

cat <your_public_key_file> >> ~/.ssh/authorized_keys

double >가 없으면 Authorized_keys의 기존 내용을 덮어쓰게 되므로(파기됩니다!) 이는 아마도 바람직하지 않을 것입니다.

답변3

도우미는 사용자가 요청한 작업을 정확하게 수행하며 환영 보너스로 ssh-copy-id디렉토리와 파일이 존재하지 않는 경우 이를 생성 및 보호하거나 존재하는 경우 기존 파일에 키를 추가합니다.~/.ssh/authorized_keys

더 좋은 점은 키가 이미 존재하는지 확인하고 중복으로부터 사용자를 보호한다는 것입니다.

shadur@periapsis:~$ ssh-copy-id -i .ssh/id_ed25519.pub luminosity
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: ".ssh/id_ed25519.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed

/usr/bin/ssh-copy-id: WARNING: All keys were skipped because they already exist on the remote system.
        (if you think this is a mistake, you may want to use -f option)

이 도우미는 ssh를 통해 대상 시스템에 접근할 수 있고 추가하려는 공개 키가 있는 모든 곳에서 실행됩니다. 실제로 이 작업을 수행하려는 모든 곳에서 가능합니다.

관련 정보