teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

改行位置を変更

2017/08/02 06:06

投稿

hotta
hotta

スコア1615

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