回答編集履歴

1

改行位置を変更

2017/08/02 06:06

投稿

hotta
hotta

スコア1613

test CHANGED
@@ -1,27 +1,15 @@
1
1
  [ssh2_auth_pubkey_file()](http://php.net/manual/ja/function.ssh2-auth-pubkey-file.php) なんて関数があるんですね。初めて知りました。
2
2
 
3
- しくみがわからないのでソースを見てみたら、結局 [libssh2_userauth_publickey_fromfile_ex()](https://www.libssh2.org/libssh2_userauth_publickey_fromfile_ex.html)
3
+ しくみがわからないのでソースを見てみたら、結局 [libssh2_userauth_publickey_fromfile_ex()](https://www.libssh2.org/libssh2_userauth_publickey_fromfile_ex.html)という関数を呼んでいるだけのようです。この関数には公開鍵が必須です。
4
-
5
- という関数を呼んでいるだけのようです。この関数には公開鍵が必須です。
6
4
 
7
5
 
8
6
 
9
- 一方、上記のページには libssh2_ で始まる関数が山のようにあって、その中には公開鍵
10
-
11
- がなくても認証できそうなものもあります。私も詳しくないので想像ですが、公開鍵まで
12
-
13
- 指定して認証する方法だと、相手側の fingerprint(?)まで検証できるので警告を出さなくて済む。
7
+ 一方、上記のページには libssh2_ で始まる関数が山のようにあって、その中には公開鍵がなくても認証できそうなものもあります。私も詳しくないので想像ですが、公開鍵まで指定して認証する方法だと、相手側の fingerprint(?)まで検証できるので警告を出さなくて済む。
14
8
 
15
9
 
16
10
 
17
- 一方、いわゆる ssh クライアントから接続する場合、公開鍵の指定がないので、接続先が
18
-
19
- 初めて接続するサーバーの場合 fingerprint が表示されて、接続の可否が人間に委ねられる。
11
+ 一方、いわゆる ssh クライアントから接続する場合、公開鍵の指定がないので、接続先が初めて接続するサーバーの場合 fingerprint が表示されて、接続の可否が人間に委ねられる。
20
12
 
21
13
 
22
14
 
23
- ソフトウェアの中で接続する場合、そういうことができないケースがある(たとえば
24
-
25
- Web アプリであれば、利用者と会話するための tty がないとか)なので、より厳密な
26
-
27
- 公開鍵が必要な API を利用して、確実に接続できるようにしているのではないでしょうか。
15
+ ソフトウェアの中で接続する場合、そういうことができないケースがある(たとえばWeb アプリであれば、利用者と会話するための tty がないとか)なので、より厳密な公開鍵が必要な API を利用して、確実に接続できるようにしているのではないでしょうか。