2015-01-14 11 views
2

Net::SSH.start()으로 사용자 이름과 암호를 시도한 후 즉시 실패 할 수 있습니까? 나는 자격 증명 한 후 나중에 중지 작동하는지 테스트하기 위해 찾고, 여기에 내가Ruby/NetSSH는 사용자 이름과 암호를 한 번만 사용합니까?

output = 0 
Net::SSH.start('host', 'user', :password => "pass") do |ssh| 
    output = ssh.exec! 'echo "1"' 
end 
puts output 

답변

3

이는 password에 인증을 제한해야이 그 코드이며, 어떤 지시하거나 시도 :

Net::SSH.start('host', 'user', 
       :password  => 'pass', 
       :auth_methods => [ 'password' ], 
       :number_of_password_prompts => 0) 

:auth_methods은 배열에 나열된 인증 방법 만 시도하도록 SSH를 제한합니다. 이 경우 비밀번호 인증 만 시도하면됩니다.

:number_of_password_promptspassword 인증 방법으로 작동하고, 사용자가 설정 한 경우는 인증이 실패하더라도, 암호를 요청하지 않습니다 제로로.

+0

문서에서 어디에서나이 파일을 찾을 수 없었습니다. 이제는이 파일이'ssh-config' 옵션이되었습니다. –