2012-10-31 2 views
1

지금은 수신 대기 포트와의 연결을 설정하기 위해 대기중인 Server.java 스크립트가 있습니다. 현재 Amazon 인스턴스에서 실행 중입니다.개인 키가있는 소켓 소켓

로컬로 실행중인 서버로 데이터를 보내려고하는 Client.java 파일도 있습니다.

현재 문제는 아마존 클라우드에 대해 알고 있으면 이것을 알 수 있습니다. 아마존 우분투 인스턴스는 RSA 인증을 확인하기 위해 개인 키가 필요합니다. 소켓으로 이것을 할 수 있습니까? 생성자를 살펴본 결과 키에 대한 또 다른 인수를 제공 할 수있는 것을 찾을 수 없었습니다. ssh -i key.pem [email protected]

클라이언트 :

내가이 즉 할 필요가 SSH합니다. java

import java.io.PrintWriter; 
import java.net.Socket; 

class Client { 
    public static void main(String args[]) { 
     String data = "toobie ornaught toobie"; 
     try { 
      Socket skt = new Socket("my ubuntu instance", 1235); 
      System.out.print("Server has connected!\n"); 
      PrintWriter out = new PrintWriter(skt.getOutputStream(), true); 
      System.out.print("Sending string: '" + data + "'\n"); 
      out.print(data); 
      out.close(); 
      skt.close(); 
     } catch (Exception e) { 
      System.out.print("Whoops! It didn't work!\n"); 
     } 
    } 
} 

답변

2

혼란 스럽습니다. TCP 소켓은 ssh와는 아무런 관련이 없습니다 (ssh는 TCP 소켓을 사용합니다). SSH에는 RSA 키가 필요합니다. 일반 TCP 소켓을 열고 있습니다. 키 및 기타 인증 항목은 적용되지 않습니다. EC2 인스턴스에서 자동으로 실행되는 방화벽을 통해 포트 번호를 허용해야합니다.

+0

아, 맞네요. –