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를 통해 대상 시스템에 접근할 수 있고 추가하려는 공개 키가 있는 모든 곳에서 실행됩니다. 실제로 이 작업을 수행하려는 모든 곳에서 가능합니다.