2009-06-12 1 views
2

계정 및/또는 비밀번호가 필요없이 서버에서 scp 서비스를 사용할 수 있는지 감지 할 수있는 방법을 제안 해 주시겠습니까? 파일 전송없이 원격 호스트에서 scp 서비스를 사용할 수 있는지 어떻게 알 수 있습니까?

나는

Net::SCP->new("hostname", "username"); 

기능을 원격으로 인해 서비스의 연결에 실패하면 원격 호스트 에서 사용할 수 없거나 때문에 인증 실패의 이야기하는 방법을 알아 내려고 노력하고있다.

답변

5

sshd는 포트 22에서 실행됩니다. 텔넷을 사용하여 응답하는지 확인하십시오.

명령 줄에서 뭔가를 코딩없이 서버를 확인하려면 다음과 같이 입력 : SSH 서비스를 사용할 수있는 경우

telnet host.example.com 22 

응답은 다음과 같이 보일 것입니다 :

Trying host.example.com... 
Connected to host.example.com. 
Escape character is '^]'. 
SSH-2.0-OpenSSH_5.1p1 Debian-5ubuntu1 

하는 경우 그렇지 않다면 다음을 볼 수 있습니다 :

Trying host.example.com... 
telnet: Unable to connect to remote host: Connection refused 
1

Net :: SCP는 inter를 사용하지 않는 한 암호를 사용하지 않습니다. 활성 모드에서는 RSA 또는 DSA 키를 사용합니다. get() 또는 put()을 사용하는 시점에서이 함수는 성공 또는 실패시 true 또는 false를 반환합니다.

키 인증 대신 암호를 사용해야하는 경우 대신 Net :: SCP :: Expect를 체크 아웃 할 수 있습니다. 두 모듈 모두에 대한 perldoc은 좋은 예제가 있습니다.

1

사용 순 :: SSH2 또는 넷 :: 대신 인터넷의 OpenSSH를 : SCP

0

채드윅 위가 올바른지,하지만 당신이 일을해야한다고 생각하고 sshd를 실행하면, 다음 확인 :

  1. Route OK? 시도해보십시오

    ping host.example.com 
    
  2. hosts.allow는 연결을 허용하도록 설정되어 있습니까? DNS 이름을 사용하는 경우 들어오는 연결을 해결할 수 있어야합니다.

  3. host.example.com에서 방화벽이 실행되고 있습니까? Linux에서

    iptables -L 
    

    을 시도하거나 Windows에서 방화벽을 확인하십시오.

관련 문제