1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/scottkiss-gosshtool

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
common.go 1022 Байты
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
scottkiss Отправлено 03.11.2016 12:59 ad67804
package gosshtool
import (
"golang.org/x/crypto/ssh"
"io"
"log"
)
type PtyInfo struct {
Term string
H int
W int
Modes ssh.TerminalModes
}
type ReadWriteCloser interface {
io.Reader
io.WriteCloser
}
type SSHClientConfig struct {
Host string
User string
Password string
Privatekey string
DialTimeoutSecond int
MaxDataThroughput uint64
}
func makeConfig(user string, password string, privateKey string) (config *ssh.ClientConfig) {
if password == "" && user == "" {
log.Fatal("No password or private key available")
}
config = &ssh.ClientConfig{
User: user,
Auth: []ssh.AuthMethod{
ssh.Password(password),
},
}
if privateKey != "" {
log.Println(privateKey)
signer, err := ssh.ParsePrivateKey([]byte(privateKey))
if err != nil {
log.Fatalf("ssh.ParsePrivateKey error:%v", err)
}
clientkey := ssh.PublicKeys(signer)
config = &ssh.ClientConfig{
User: user,
Auth: []ssh.AuthMethod{
clientkey,
},
}
}
return
}

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/scottkiss-gosshtool.git
git@api.gitlife.ru:oschina-mirror/scottkiss-gosshtool.git
oschina-mirror
scottkiss-gosshtool
scottkiss-gosshtool
master