Golang에서 간단한 SSH 포트 전달
이 기사에서는 간단한 SSH 포트 전달을 생성하여 연결하는 방법을 살펴보겠습니다.
포트 전달 생성
포트 전달을 생성하려면 SSH 연결을 설정하고 로컬 포트에서 수신 대기해야 합니다. . 연결이 이루어지면 로컬 포트와 원격 포트 간에 데이터를 전달할 수 있습니다.
다음은 단계별 가이드입니다:
예제 코드
다음 Go 코드는 이러한 단계를 보여줍니다.
<code class="go">package main import ( "io" "log" "net" "golang.org/x/crypto/ssh" ) func forward(localConn net.Conn, config *ssh.ClientConfig, remoteAddr string) { sshClientConn, err := ssh.Dial("tcp", "remote.example.com:22", config) if err != nil { log.Fatalf("ssh.Dial failed: %s", err) } sshConn, err := sshClientConn.Dial("tcp", remoteAddr) if err != nil { log.Fatalf("sshClientConn.Dial failed: %s", err) } go io.Copy(sshConn, localConn) go io.Copy(localConn, sshConn) } func main() { config := &ssh.ClientConfig{ User: "username", Auth: []ssh.AuthMethod{ ssh.Password("password"), }, } listener, err := net.Listen("tcp", "local.example.com:9000") if err != nil { log.Fatalf("net.Listen failed: %s", err) } for { localConn, err := listener.Accept() if err != nil { log.Fatalf("listener.Accept failed: %s", err) } go forward(localConn, config, "remote.example.com:9999") } }</code>
이 단계를 따르고 제공된 코드를 사용하면 간단하면서도 효과적인 SSH 포트 전달을 생성하고 로컬 컴퓨터에서 원격 서비스에 쉽게 액세스하세요.
위 내용은 Golang에서 간단한 SSH 포트 전달을 어떻게 생성합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!