質問編集履歴
6
軽微な修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
|
5
5
|
|
6
6
|
|
7
|
-
ここで,質問なんですがクライアントからのconfigのAuthMethodに設定が無かったときのcallbackをサーバに設定できないでしょうか.pubkeyやpasswordの設定があった場合は通常どうりに各callbackを呼んでほしいです.
|
7
|
+
ここで,質問なんですがクライアントからのconfigのAuthMethodに設定が無かったときのcallbackをサーバに設定できないでしょうか.pubkeyやpasswordの設定があった場合は通常どうりに各callbackを呼んでほしいです.サーバはユーザの情報によって振る舞いを変えます.
|
8
8
|
|
9
9
|
```
|
10
10
|
|
@@ -34,9 +34,9 @@
|
|
34
34
|
|
35
35
|
config := &ssh.ServerConfig{
|
36
36
|
|
37
|
+
// clientからのAuthが設定されていない場合に呼んでほしい
|
38
|
+
|
37
39
|
NoAuthCallback(conn ssh.ConnMetadata) {
|
38
|
-
|
39
|
-
// clientからのAuthが設定されていない場合に呼んでほしい
|
40
40
|
|
41
41
|
authMethod := getAuthMethodsFromDB(conn.User())
|
42
42
|
|
5
ソースコードの修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -40,13 +40,15 @@
|
|
40
40
|
|
41
41
|
authMethod := getAuthMethodsFromDB(conn.User())
|
42
42
|
|
43
|
-
// authMethod
|
43
|
+
// authMethodが認証なしでないなら通さない
|
44
44
|
|
45
45
|
if authMethod != "none" {
|
46
46
|
|
47
47
|
return NG
|
48
48
|
|
49
49
|
}
|
50
|
+
|
51
|
+
return OK
|
50
52
|
|
51
53
|
},
|
52
54
|
|
@@ -59,6 +61,8 @@
|
|
59
61
|
switch authMethod {
|
60
62
|
|
61
63
|
case "none":
|
64
|
+
|
65
|
+
// DB側がnoneなら通す
|
62
66
|
|
63
67
|
return OK
|
64
68
|
|
4
ソースコードを詳しくした
test
CHANGED
File without changes
|
test
CHANGED
@@ -34,15 +34,19 @@
|
|
34
34
|
|
35
35
|
config := &ssh.ServerConfig{
|
36
36
|
|
37
|
-
NoAuthCallback() {
|
37
|
+
NoAuthCallback(conn ssh.ConnMetadata) {
|
38
38
|
|
39
39
|
// clientからのAuthが設定されていない場合に呼んでほしい
|
40
40
|
|
41
|
-
|
41
|
+
authMethod := getAuthMethodsFromDB(conn.User())
|
42
42
|
|
43
|
-
|
43
|
+
// authMethodsに認証なしがない
|
44
44
|
|
45
|
-
|
45
|
+
if authMethod != "none" {
|
46
|
+
|
47
|
+
return NG
|
48
|
+
|
49
|
+
}
|
46
50
|
|
47
51
|
},
|
48
52
|
|
@@ -50,10 +54,26 @@
|
|
50
54
|
|
51
55
|
// publickey認証時の処理
|
52
56
|
|
57
|
+
authMethod := getAuthMethodsFromDB(conn.User())
|
58
|
+
|
59
|
+
switch authMethod {
|
60
|
+
|
61
|
+
case "none":
|
62
|
+
|
63
|
+
return OK
|
64
|
+
|
65
|
+
case "pubkey":
|
66
|
+
|
67
|
+
return 公開鍵認証の結果
|
68
|
+
|
69
|
+
}
|
70
|
+
|
71
|
+
}
|
72
|
+
|
53
73
|
},
|
54
74
|
|
55
75
|
}
|
56
76
|
|
57
77
|
```
|
58
78
|
|
59
|
-
どなたかご教授お願いします
|
79
|
+
どなたかご教授お願いします.
|
3
タイトルの変更
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
認証メソッド設定ないsshクライアントへのサーバのコールバック設定方法
|
1
|
+
認証メソッド設定がないsshクライアントへのサーバのコールバック設定方法
|
test
CHANGED
File without changes
|
2
タイトルの編集
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
認証メソッド設定ないsshクライアントへのサーバのコールバック設定方法
|
test
CHANGED
File without changes
|
1
タイトルの修正
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
ssh
|
1
|
+
sshクライアントの認証メソッド設定ないのサーバのコールバック方法
|
test
CHANGED
File without changes
|