1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > golang 使用socks代理 连接远程ssh服务器

golang 使用socks代理 连接远程ssh服务器

时间:2022-06-04 04:07:35

相关推荐

golang  使用socks代理 连接远程ssh服务器

使用x/net/proxy包,如下所示:

package mainimport ("log""/x/crypto/ssh""/x/net/proxy")func main() {sshConfig := &ssh.ClientConfig{User: "user",// Auth: .... fill out with keys etc as normal}client, err := proxiedSSHClient("127.0.0.1:8000", "127.0.0.1:22", sshConfig)if err != nil {log.Fatal(err)}// get a session etc...}func proxiedSSHClient(proxyAddress, sshServerAddress string, sshConfig *ssh.ClientConfig) (*ssh.Client, error) {dialer, err := proxy.SOCKS5("tcp", proxyAddress, nil, proxy.Direct)if err != nil {return nil, err}conn, err := dialer.Dial("tcp", sshServerAddress)if err != nil {return nil, err}c, chans, reqs, err := ssh.NewClientConn(conn, sshServerAddress, sshConfig)if err != nil {return nil, err}return ssh.NewClient(c, chans, reqs), nil}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。