go websshの簡単な例(gin+ws+sshに基づく)
プロジェクトアドレス
https://github.com/hequan2017/go-webssh
go-webssh
goバージョンwebssh
コア
本プロジェクトコードはhttps://github.com/dejavuzhou/felix あ、ただ中のwebsshを出して、修正して、webshを作って、ここで説明します.この項目を見る必要があります.
インストール
core/ssh.goのアカウントのパスワードアドレスなどの情報を変更します.自分で鍵でログインするように変更することもできます.
go install
go run main.go
フロントエンド
私がテストするときはvueを使っています.あなたたちのプロジェクトに入れることができます.Web/vue/index.vueでは、32行のバックエンドアドレスを変更することを覚えています.
自分で普通のindex.htmlを作って、websocketを置いて接続すればいいです.
web/htmlは通常バージョンindex.htmlですが、テストされていません.参考までに!
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ですが、テストされていません.参考までに!