go websshの簡単な例(gin+ws+sshに基づく)

1513 ワード

プロジェクトアドレス
https://github.com/hequan2017/go-webssh
go-webssh
goバージョンwebssh
コア
本プロジェクトコードはhttps://github.com/dejavuzhou/felix あ、ただ中のwebsshを出して、修正して、webshを作って、ここで説明します.この項目を見る必要があります.
インストール
core/ssh.goのアカウントのパスワードアドレスなどの情報を変更します.自分で鍵でログインするように変更することもできます.
func NewSshClient() (*ssh.Client, error) {
                    config := &ssh.ClientConfig{
                        Timeout:         time.Second * 5,
                        User:            "root",
                        HostKeyCallback: ssh.InsecureIgnoreHostKey(), //    ,       
                        //HostKeyCallback: hostKeyCallBackFunc(h.Host),
                    }
                    //if h.Type == "password" {
                    config.Auth = []ssh.AuthMethod{ssh.Password("123456")}
                    //} else {
                    //  config.Auth = []ssh.AuthMethod{publicKeyAuthFunc(h.Key)}
                    //}
                    addr := fmt.Sprintf("%s:%d", "192.168.100.200", 22)
                    c, err := ssh.Dial("tcp", addr, config)
                    if err != nil {
                        return nil, err
                    }
                    return c, nil
}

go install
go run main.go
フロントエンド
私がテストするときはvueを使っています.あなたたちのプロジェクトに入れることができます.Web/vue/index.vueでは、32行のバックエンドアドレスを変更することを覚えています.
自分で普通のindex.htmlを作って、websocketを置いて接続すればいいです.
web/htmlは通常バージョンindex.htmlですが、テストされていません.参考までに!