내 서버에 SSH 키 인증을 통해 액세스할 수 있는 사용자 계정이 있습니다. 제3자에게 이 계정에 대한 임시 액세스 권한을 부여하고 싶습니다. 대체 인증 방법으로 비밀번호를 생성하여(비밀번호나 SSH 키를 통해 서버에 접근할 수 있도록) 제3자에게 제공하여 작업을 수행하게 한 다음 작업이 완료되면 비밀번호를 삭제할 계획입니다.
이와 같은 비밀번호를 어떻게 생성하고 삭제합니까?
답변1
비밀번호 질문에 대한 답변은 다음과 같습니다.
/etc/ssh/sshd_config
비밀번호가 활성화되도록 파일을 편집합니다 .
PasswordAuthentication yes
PermitEmptyPasswords no
그런 다음 SSH 서비스(HT - @tonioc)를 다시 시작합니다. 이는 sysvinit 시스템에서 작동합니다.
/etc/init.d/ssh restart
이는 시스템 시스템에서 작동합니다.
systemctl restart ssh
그 다음에:
- 키로 로그인하거나 계정이 잠겨 있는 경우 계정 비밀번호를 변경하세요.
또는 그 이상):
- 새 사용자에 대한 새 사용자 계정을 추가하고 새 사용자의 작업을 완료하는 데 필요한 최소 그룹에 사용자를 추가합니다.
또는 (더 나은 경우):
- 새로운 사용자를 추가하고 공개 키를 요청하세요.
~/.ssh/authorized_keys
키를 직접 복사하는 방법을 모르는 경우 파일에 추가하세요.
그러나 최소한의 변경으로 보안 수준을 낮추려면 간단히 다른 키를 추가하면 됩니다.
~/.ssh/authorized_keys
서버에서.
Authorized_keys 파일에는 원하는 수의 키가 있을 수 있습니다. 옵션이 앞에 나오는 한 줄에 하나의 키입니다.
이 파일에는 다양한 옵션을 추가할 수 있습니다 authorized_keys
.
바라보다여기
및/또는:
man authorized_keys
물론 다른 사람들이 지적했듯이 팀에서 운영하지 않는 한 계정당 여러 사용자를 갖는 것은 좋은 생각이 아닙니다. 임시 권한 있는 액세스나 계정은 아마도 좋은 생각이 아닐 것입니다.
답변2
1) sshd_config에서 이 사용자에 대한 PasswordAuthentication 방법을 추가합니다.
Match User <thisusername>
PasswordAuthentication yes
그런 다음 sshd 서비스를 다시 시작하십시오.
2) 다음을 사용하여(루트 또는 sudo를 사용하여) 사용자 비밀번호를 설정합니다.
passwd <thisusername>
작업이 완료되면 sshd_config에서 PasswordAuthentication을 no로 변경하고 (선택적으로) passwd를 다시 사용하여 비밀번호를 변경합니다.