it-swarm-ko.tech

SSH 클라이언트가 비밀번호 인증 만 사용하도록 강제하는 방법은 무엇입니까?

Ubuntu 11.04와 같은 pubkey auth를 사용하는 경우 ssh 클라이언트가 서버에 암호 인증 만 사용하도록 어떻게 설정할 수 있습니까? (키로 기본 로그인하는 서버에서 비밀번호 테스트로 인해 필요했습니다)

방법을 찾았습니다.

mv ~/.ssh/id_rsa ~/.ssh/id_rsa.backup
mv ~/.ssh/id_rsa.pub ~/.ssh/id_rsa.pub.backup

이제 비밀번호를 묻는 메시지가 표시되지만 공식적인 방법이 있습니까?

414
LanceBaynes

나는 최근에 이것도 필요했고 이것을 생각해 냈습니다.

ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no example.com

클라이언트가 비밀번호 인증을 허용하지 않도록 구성되어 있는지 확인해야합니다.

636
scoopr

이 목적에 대한 지름길을 발견했습니다.

ssh user:@example.com

콜론 (:) 및 그 뒤에 빈 비밀번호입니다.

174
Halil Özgür

Scoopr가 게시 한 방법뿐만 아니라 ssh 클라이언트 구성 파일에서 호스트 별 옵션을 설정할 수 있습니다.

귀하의 .ssh 디렉토리에서 config (아직없는 경우)라는 파일을 만들고 권한을 600 다음으로 시작하는 섹션을 만들 수 있습니다.

Host <some hostname or pattern>

그런 다음 호스트 별 옵션을 설정합니다 (예 :

Host bob.specific.foo
user fred

Host *.home.example
user billy
port 9191

그래서 당신은 가질 수

Host server.to.test
PubkeyAuthentication=no

그 파일에서

ssh server.to.test

옵션이 선택됩니다.

38
EightBitTony

최근에이 기능이 필요했지만 위의 옵션 중 어느 것도 작동하지 않았습니다. ssh -v-o 스위치를 통해 전달 된 명령 줄 옵션이 내 ~/.ssh/config 파일입니다.

효과가 있었던 것은 다음과 같습니다.

ssh -F /dev/null <username>@<Host>

ssh 매뉴얼 페이지에서 :

 -F configfile
     Specifies an alternative per-user configuration file.  If a
     configuration file is given on the command line, the system-wide
     configuration file (/etc/ssh/ssh_config) will be ignored. The default 
     for the per-user configuration file is ~/.ssh/config.

이 답변에 대한 크레딧 : ssh가 .ssh/config를 어떻게 무시하도록 할 수 있습니까?

14
adeelx

이 답변 중 몇 가지를 시도했지만 ssh -v 내 공개 디렉토리에서 공개 키를 가져 오는 것을 계속 표시했습니다. 그러나 가짜 신원 파일을 지정하면 나에게 속임수가되었습니다.

ssh -i /dev/null Host

나는 이것을 영구적으로해야합니다 (APC 랙 장착 PDU에서 손상된 SSH 서버를 해결하려면 보안에 관심이 있다면 far 이러한 것들과 거리를 두십시오). 구성 파일 :

Host apc1 apc2
KexAlgorithms +diffie-hellman-group1-sha1
IdentityFile /dev/null
6
miken32

또한 BatchMode=yes는 .ssh/config에서 활성화됩니다. 그렇지 않으면 대화식 암호 프롬프트가 표시 될 가능성이 없습니다.

2
Gunnar Tiedt

이 문제로 전 세계에서 유일한 사람 일 수 있지만 which ssh를 통해 실행중인 다른 운영 체제 (cygwin Shell의 Windows에서는 choco ssh)에서 ssh을 받았습니다.

그래서 해결책은

 /usr/bin/ssh [email protected]

전체 경로를 참고하십시오. cyg-get openssh를 실행 한 후이 작업을 수행했습니다.

1
Jonathan

@scoopr 및 @Halil Özgür 답변이 저에게 효과적이지 않았습니다.

이것은 나를 위해 일했다 :

ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no [email protected]

출처 : http://linuxcommando.blogspot.com/2008/10/how-to-disable-ssh-Host-key-checking.html

1
shrx