2012-08-17 4 views
1

암호를 제공하지 않고 ssh를 연결 :루비는 현재이 같은 내 코드에서 ssh 연결을하고 있어요

Net::SSH.start(@HOST, @USER, :password => @PASS) do|ssh| 
    @result = ssh.exec!("ls") 
    end 

는 지금은 모든 암호를 제공하지 않고 SSH 연결을 할 필요가있다. 암호를 입력하지 않고도 ssh 연결을 시작할 정확한 형식을 찾을 수 없었습니다.

나는 호스트의 인증 된 키 목록에 SSH 키를 추가했습니다. 비밀 번호없이 ssh를 탐색했을 때 그물에 어딘가에 아래의 코드가있는 것을 기억합니다. 당신은 당신의 개인 키를 가리 키도록해야

답변

2

잘못 스피 경우

Net::SSH.start(@HOST, @USER) do|ssh| 
     @result = ssh.exec!("ls") 
     end 

하지, 공개 키 제발 올바른 :

@USER = "me" 
@KEYS = ["my private key here"] 
@HOST = hostname 
Net::SSH.start(@HOST, @USER, :key_data=>@KEYS, :keys_only=>TRUE) do|ssh| 
    @result = ssh.exec!("ls")     
end 

을 지금은 더 이상 암호를 고려하지 않습니다.

+0

고마워요! 질문 : rsa 호스트 키를 자동으로 수락하는 방법을 알고 있습니까? (처음 리눅스에 로그온 할 때 교환되는 호스트 키를 받아들이려면 '예'를 입력해야합니다) –