Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
K
koko
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ops
koko
Commits
251f9130
Commit
251f9130
authored
Apr 26, 2019
by
ibuler
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[Update] 切换到ibuler/ssh
parent
2d6891c2
Hide whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
116 additions
and
61 deletions
+116
-61
Gopkg.lock
Gopkg.lock
+34
-9
Gopkg.toml
Gopkg.toml
+14
-2
go.mod
go.mod
+0
-16
server.go
pkg/auth/server.go
+2
-2
context.go
pkg/cctx/context.go
+1
-1
proxy.go
pkg/proxy/proxy.go
+1
-1
connection.go
pkg/proxybak/connection.go
+1
-1
sshconn.go
pkg/proxybak/sshconn.go
+1
-1
switch.go
pkg/proxybak/switch.go
+1
-1
banner.go
pkg/sshd/handler/banner.go
+1
-1
session.go
pkg/sshd/handler/session.go
+22
-22
sftp.go
pkg/sshd/handler/sftp.go
+32
-0
test.go
pkg/sshd/handler/test.go
+1
-1
server.go
pkg/sshd/server.go
+3
-1
conn.go
pkg/userhome/conn.go
+1
-1
sshconn.go
pkg/userhome/sshconn.go
+1
-1
No files found.
Gopkg.lock
View file @
251f9130
...
...
@@ -10,12 +10,12 @@
revision = "648efa622239a2f6ff949fed78ee37b48d499ba4"
[[projects]]
digest = "1:
c3f0e909d9834aede2dca8824d35f8def272defc400e530bd0e76481a43e1f38
"
name = "github.com/
gliderlabs
/ssh"
digest = "1:
74d60c90a8daf329b92887e404a23d999ff95bc7a9c111476c1753bcf178e384
"
name = "github.com/
ibuler
/ssh"
packages = ["."]
pruneopts = "UT"
revision = "
4b72c663cfb315ecfb9f6be5c106c0c693ce196b
"
version = "v0.1.
3
"
revision = "
d3a6756290240931faaf90ec97ddd5d9290623d8
"
version = "v0.1.
1
"
[[projects]]
digest = "1:e77a03f1e4f1e4e035e46dc3cd79b1e33acbf651540aaa5e148caf1296884d18"
...
...
@@ -33,6 +33,14 @@
revision = "f55edac94c9bbba5d6182a4be46d86a2c9b5b50e"
version = "v1.0.2"
[[projects]]
digest = "1:9cedee824c21326bd26950bd9e1ffe9dc4e7ca03dc8634d0e6f954ee6a383172"
name = "github.com/kr/fs"
packages = ["."]
pruneopts = "UT"
revision = "1455def202f6e05b95cc7bfc7e8ae67ae5141eba"
version = "v0.1.0"
[[projects]]
digest = "1:47dc4f6ee8a7dda99b516b56cb7fcc4f53ca94756263bdcea55c918a60126062"
name = "github.com/kr/pty"
...
...
@@ -57,6 +65,22 @@
revision = "e6d60cf7ba1f42d86d54cdf5508611c4aafb3970"
version = "v0.0.1"
[[projects]]
digest = "1:cf31692c14422fa27c83a05292eb5cbe0fb2775972e8f1f8446a71549bd8980b"
name = "github.com/pkg/errors"
packages = ["."]
pruneopts = "UT"
revision = "ba968bfe8b2f7e042a574c888954fccecfa385b4"
version = "v0.8.1"
[[projects]]
digest = "1:6c187bc42f50a341b0dd25da7f5bcf84b4bbffa7193b92f3c983c1a9803a447a"
name = "github.com/pkg/sftp"
packages = ["."]
pruneopts = "UT"
revision = "a713b07e6d90e1831d7fefcb69f1310edb3783ae"
version = "v1.10.0"
[[projects]]
digest = "1:274f67cb6fed9588ea2521ecdac05a6d62a8c51c074c1fccc6a49a40ba80e925"
name = "github.com/satori/go.uuid"
...
...
@@ -83,7 +107,7 @@
[[projects]]
branch = "master"
digest = "1:7
d2f4682bbf020a09e42b95e3ab8ff8eaf1301ccd3184c98fb8baffd3cf024
27"
digest = "1:7
ba755bbcaaf821fd0c73c96069883c4467d6e261e3ecc81adddb8e0bfc675
27"
name = "golang.org/x/crypto"
packages = [
"curve25519",
...
...
@@ -96,11 +120,11 @@
"ssh/terminal",
]
pruneopts = "UT"
revision = "
88737f569e3a9c7ab309cdc09a07fe7fc87233c3
"
revision = "
c05e17bb3b2dca130fc919668a96b4bec9eb9442
"
[[projects]]
branch = "master"
digest = "1:
dd68f2bed31a27f4e2aff98c48d185b9e19d29d0b81fb0f81f58ec50469c2e4b
"
digest = "1:
91f01f15f85f43f18cbed401dfc839879a12678f8254fcfe93daaddd4a3e52e0
"
name = "golang.org/x/sys"
packages = [
"cpu",
...
...
@@ -108,7 +132,7 @@
"windows",
]
pruneopts = "UT"
revision = "16
da32be82c5df9a338c27758247c0b7b0bd8fea
"
revision = "16
072639606ea9e22c7d86e4cbd6af6314f4193c
"
[[projects]]
digest = "1:4d2e5a73dc1500038e504a8d78b986630e3626dc027bc030ba5c75da257cdb96"
...
...
@@ -122,10 +146,11 @@
analyzer-name = "dep"
analyzer-version = 1
input-imports = [
"github.com/
gliderlabs
/ssh",
"github.com/
ibuler
/ssh",
"github.com/jarcoal/httpmock",
"github.com/kr/pty",
"github.com/olekukonko/tablewriter",
"github.com/pkg/sftp",
"github.com/satori/go.uuid",
"github.com/sirupsen/logrus",
"github.com/xlab/treeprint",
...
...
Gopkg.toml
View file @
251f9130
...
...
@@ -26,8 +26,16 @@
[[constraint]]
name
=
"github.com/gliderlabs/ssh"
version
=
"0.1.3"
name
=
"github.com/ibuler/ssh"
version
=
"0.1.1"
[[constraint]]
name
=
"github.com/jarcoal/httpmock"
version
=
"1.0.3"
[[constraint]]
name
=
"github.com/kr/pty"
version
=
"1.1.4"
[[constraint]]
name
=
"github.com/olekukonko/tablewriter"
...
...
@@ -56,3 +64,7 @@
[prune]
go-tests
=
true
unused-packages
=
true
[[constraint]]
name
=
"github.com/pkg/sftp"
version
=
"1.10.0"
go.mod
deleted
100644 → 0
View file @
2d6891c2
module cocogo
go 1.12
require (
github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239 // indirect
github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568 // indirect
github.com/gliderlabs/ssh v0.1.3
github.com/mattn/go-runewidth v0.0.4 // indirect
github.com/olekukonko/tablewriter v0.0.1
github.com/satori/go.uuid v1.2.0
github.com/sirupsen/logrus v1.4.0
github.com/xlab/treeprint v0.0.0-20181112141820-a009c3971eca
golang.org/x/crypto v0.0.0-20190320223903-b7391e95e576
gopkg.in/yaml.v2 v2.2.2
)
pkg/auth/server.go
View file @
251f9130
...
...
@@ -3,7 +3,7 @@ package auth
import
(
"strings"
"github.com/
gliderlabs
/ssh"
"github.com/
ibuler
/ssh"
gossh
"golang.org/x/crypto/ssh"
"cocogo/pkg/cctx"
...
...
@@ -23,9 +23,9 @@ func checkAuth(ctx ssh.Context, password, publicKey string) (ok bool) {
}
if
user
==
nil
{
action
=
"Failed"
ok
=
false
}
else
{
ctx
.
SetValue
(
cctx
.
ContextKeyUser
,
user
)
ok
=
true
}
logger
.
Infof
(
"%s %s for %s from %s"
,
action
,
authMethod
,
username
,
remoteAddr
)
return
ok
...
...
pkg/cctx/context.go
View file @
251f9130
...
...
@@ -2,7 +2,7 @@ package cctx
import
(
"context"
"github.com/
gliderlabs
/ssh"
"github.com/
ibuler
/ssh"
"cocogo/pkg/sdk"
)
...
...
pkg/proxy/proxy.go
View file @
251f9130
...
...
@@ -3,7 +3,7 @@ package proxy
import
(
"cocogo/pkg/logger"
"cocogo/pkg/service"
"github.com/
gliderlabs
/ssh"
"github.com/
ibuler
/ssh"
"cocogo/pkg/sdk"
)
...
...
pkg/proxybak/connection.go
View file @
251f9130
...
...
@@ -6,7 +6,7 @@ import (
"io"
"time"
"github.com/
gliderlabs
/ssh"
"github.com/
ibuler
/ssh"
gossh
"golang.org/x/crypto/ssh"
"cocogo/pkg/logger"
...
...
pkg/proxybak/sshconn.go
View file @
251f9130
...
...
@@ -10,7 +10,7 @@ import (
"github.com/sirupsen/logrus"
"github.com/
gliderlabs
/ssh"
"github.com/
ibuler
/ssh"
gossh
"golang.org/x/crypto/ssh"
)
...
...
pkg/proxybak/switch.go
View file @
251f9130
...
...
@@ -4,7 +4,7 @@ import (
"context"
"sync"
"github.com/
gliderlabs
/ssh"
"github.com/
ibuler
/ssh"
"cocogo/pkg/logger"
"cocogo/pkg/sdk"
...
...
pkg/sshd/handler/banner.go
View file @
251f9130
...
...
@@ -7,7 +7,7 @@ import (
"io"
"text/template"
"github.com/
gliderlabs
/ssh"
"github.com/
ibuler
/ssh"
"cocogo/pkg/logger"
)
...
...
pkg/sshd/handler/session.go
View file @
251f9130
package
handler
import
(
"cocogo/pkg/proxybak"
//"cocogo/pkg/proxybak"
//"cocogo/pkg/proxybak"
"context"
//"context"
//"strconv"
...
...
@@ -16,7 +17,7 @@ import (
"sync"
//"time"
"github.com/
gliderlabs
/ssh"
"github.com/
ibuler
/ssh"
//"github.com/olekukonko/tablewriter"
//"github.com/satori/go.uuid"
//"github.com/xlab/treeprint"
...
...
@@ -29,7 +30,6 @@ import (
"cocogo/pkg/model"
"cocogo/pkg/sdk"
"cocogo/pkg/service"
"cocogo/pkg/userhome"
//"cocogo/pkg/proxy"
//"cocogo/pkg/transport"
//"cocogo/pkg/userhome"
...
...
@@ -265,26 +265,26 @@ func (i *InteractiveHandler) changeLanguage() {
}
func
(
i
*
InteractiveHandler
)
JoinShareRoom
(
roomID
string
)
{
sshConn
:=
userhome
.
NewSSHConn
(
i
.
sess
)
ctx
,
cancelFuc
:=
context
.
WithCancel
(
i
.
sess
.
Context
())
_
,
winCh
,
_
:=
i
.
sess
.
Pty
()
go
func
()
{
for
{
select
{
case
<-
ctx
.
Done
()
:
return
case
win
,
ok
:=
<-
winCh
:
if
!
ok
{
return
}
fmt
.
Println
(
"join term change:"
,
win
)
}
}
}()
proxybak
.
Manager
.
JoinShareRoom
(
roomID
,
sshConn
)
//
sshConn := userhome.NewSSHConn(i.sess)
//
ctx, cancelFuc := context.WithCancel(i.sess.Context())
//
//
_, winCh, _ := i.sess.Pty()
//
go func() {
//
for {
//
select {
//
case <-ctx.Done():
//
return
//
case win, ok := <-winCh:
//
if !ok {
//
return
//
}
//
fmt.Println("join term change:", win)
//
}
//
}
//
}()
//
proxybak.Manager.JoinShareRoom(roomID, sshConn)
logger
.
Info
(
"exit room id:"
,
roomID
)
cancelFuc
()
//
cancelFuc()
}
...
...
pkg/sshd/handler/sftp.go
0 → 100644
View file @
251f9130
package
handler
import
(
"io"
"io/ioutil"
"github.com/ibuler/ssh"
"github.com/pkg/sftp"
"cocogo/pkg/logger"
)
func
SftpHandler
(
sess
ssh
.
Session
)
{
debugStream
:=
ioutil
.
Discard
serverOptions
:=
[]
sftp
.
ServerOption
{
sftp
.
WithDebug
(
debugStream
),
}
server
,
err
:=
sftp
.
NewServer
(
sess
,
serverOptions
...
,
)
if
err
!=
nil
{
logger
.
Errorf
(
"sftp server init error: %s"
,
err
)
return
}
if
err
:=
server
.
Serve
();
err
==
io
.
EOF
{
server
.
Close
()
logger
.
Info
(
"sftp client exited session."
)
}
else
if
err
!=
nil
{
logger
.
Errorf
(
"sftp server completed with error:"
,
err
)
}
}
pkg/sshd/handler/test.go
View file @
251f9130
...
...
@@ -8,7 +8,7 @@ import (
"syscall"
"unsafe"
"github.com/
gliderlabs
/ssh"
"github.com/
ibuler
/ssh"
"github.com/kr/pty"
)
...
...
pkg/sshd/server.go
View file @
251f9130
...
...
@@ -3,7 +3,7 @@ package sshd
import
(
"strconv"
"github.com/
gliderlabs
/ssh"
"github.com/
ibuler
/ssh"
"cocogo/pkg/auth"
"cocogo/pkg/config"
...
...
@@ -34,6 +34,8 @@ func StartServer() {
HostSigners
:
[]
ssh
.
Signer
{
signer
},
Version
:
version
,
Handler
:
handler
.
SessionHandler
,
SubsystemHandlers
:
map
[
string
]
ssh
.
SubsystemHandler
{},
}
srv
.
SetSubsystemHandler
(
"sftp"
,
handler
.
SftpHandler
)
logger
.
Fatal
(
srv
.
ListenAndServe
())
}
pkg/userhome/conn.go
View file @
251f9130
...
...
@@ -6,7 +6,7 @@ import (
"github.com/sirupsen/logrus"
"github.com/
gliderlabs
/ssh"
"github.com/
ibuler
/ssh"
uuid
"github.com/satori/go.uuid"
)
...
...
pkg/userhome/sshconn.go
View file @
251f9130
...
...
@@ -3,7 +3,7 @@ package userhome
import
(
"context"
"github.com/
gliderlabs
/ssh"
"github.com/
ibuler
/ssh"
uuid
"github.com/satori/go.uuid"
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment