
SSH를 통해 제어하지 않는 서버에 연결합니다.
공개 키 액세스를 사용하므로 키보드 대화형 비밀번호로 연결할 필요가 없습니다.
다른 사람이 이런 식으로 해킹할 수 없도록 내 사용자에 대한 키보드 대화형 액세스를 비활성화하고 싶습니다.
저는 서버를 제어하지 않으므로 키보드 대화식 액세스를 방지하기 위해 사용자의 구성 파일을 설정하는 방법이 있습니까?
답변1
서버를 전혀 제어할 수 없다면 서버 설정을 제어할 수 없기 때문에 이를 수행할 수 있는 방법이 없습니다.
당신이 해야 할 일은 이것을 /etc/ssh/sshd_config 파일에 추가하는 것입니다:
PasswordAuthentication no
이제 이는 비밀번호 인증을 효과적으로 비활성화합니다.모두이는 바람직하지 않을 수 있습니다. 그러면 이 구성 지시어를 Match 블록에 넣어 동일한 구성 파일의 사용자에게만 적용할 수 있습니다.
Match user yourusername
PasswordAuthentication no
서버 관리자에게 이 작업을 수행하도록 요청할 수 있다면 그렇게 하는 것이 좋습니다.
또 다른 방법은 사용자에게 매우 길고 무작위이며 복잡한 비밀번호를 설정하는 것입니다. 이렇게 하면 무작위 무차별 침입 시도로부터 합리적으로 보호받을 수 있습니다. 대부분의 공격자는 사전 기반 기술을 사용할 가능성이 높으므로 비밀번호가 충분히 길고 임의적이면 매우 안전합니다.
자세한 내용은 "man sshd_config"를 참조하세요. 또한 제가 제안한 솔루션도여기.
답변2
파일 /etc/ssh/sshd_config
에서 다음 줄을 편집하면 됩니다 .yes
no
#ChallengeResponseAuthentication yes
ChallengeResponseAuthentication no
답변3
[나는 BASH를 로그인 쉘로 사용하고 있다고 가정합니다. 그렇지 않다면 적절하게 조정하세요...]
에서는 ~/.ssh/authorized_keys
다음과 같이 각 줄에 명령 사양을 추가합니다.
command="ssh_key=XXX /bin/bash -l" ssh-dss AAAA...K3E= me@mymachine
에서 ~/.bash-profile
맨 위에 다음 트랩을 배치합니다.
if [ "${ssh_key}" != "XXX" ]; then
echo "${SSH_CLIENT}" | mailx -s "password login attempt!" me@mailservice
exit
fi
이제 누군가가 비밀번호를 사용하여 귀하의 계정에 로그인하면 메일을 받게 됩니다.