質問
Linuxでscpのトンネルとしての機能するsshdについて
クライアント側とサーバ側とでどのようにしてホスト認証やクライアント認証などの
コンセンサスの取り方について
前提
Linuxにおいて
自動認証用のパスフレーズなしの秘密鍵を利用したSCPを行おうと思うのですが
scpを利用してパスフレーズを設定しない公開鍵を利用する場合
パスフレーズを設定していない秘密鍵と公開鍵を「ssh-kegen」コマンドで作成したうえで
-i オプション を利用して
scp -i 秘密鍵ファイル ファイル名 送信先のアドレス:ディレクトリパス
というコマンドを利用し
また
相手サーバのauthorized_keyには公開鍵一つにつきコマンドを一つを関連付けられるのでそこでscpを設定すればscpを利用できるということを参考書で読みました。
疑問
scpは裏でsshdが動作しているらしいのですが
クライアント側とサーバ側とでどのようにしてホスト認証やクライアント認証などの
コンセンサスをとっているのでしょうか?
というのは
リスト番号リスト参考書を確認するとサーバ側のauthorized_keyの鍵に
「command="scp -f ファイル名"」と追加することで公開鍵に対してコマンド設定が可能となるとのこと
scpはクライアント側で作成したパスフレーズなしの秘密鍵を利用してユーザ認証を行いますが
以下のコマンド
scp -i 秘密鍵ファイル ファイル名 送信先のアドレス:ディレクトリパス
これを実行することでどうしてサーバ側はコマンド設定をした公開鍵を選定できるのでしょうか?
authorized_keyの中身をみるとただの英数字の羅列な訳でしかも同じクライアント側の公開鍵を複数登録する
ということも可能なわけですよね?
で、しかも改めてコマンドを確認すると
秘密鍵をオプションで設定しているようです。
ということはLinuxのクライアント側で秘密鍵に対する公開鍵の紐づけがされているのでしょうか?
それで公開鍵を相手サーバ側に提示しているのでしょうか?
それとも
別の質問サイトでもこの質問をしたところ
scpはというのは
「sshd は、clinet より渡された鍵を元に authorized_keys から検索し適合した鍵、及び、トンネル設定があればそれに従います。」
「ssh 接続した、socket をトンネルに見立て、その中に別の自動車(scp)が通行しているイメージです。」なのだそうです。
ということでした
コマンド設定されているscpが使用する公開鍵をsshdで使用する共通鍵で暗号化して渡しているのでしょうか?
質問内容をまとめます
Linuxでscpで接続する際に利用する公開鍵のサーバ側での選定方法(今回の例だとコマンド付のパスフレーズなし)
Linuxでscpで接続する際に設定する秘密鍵に対して公開鍵は紐づけられているか否か
ちょっと漠然とした質問ですいません
どなたかSSHないしはSCPについてお詳しいかたはいらっしゃいませんでしょうか?
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2023/11/05 16:35
2023/11/06 10:33
2023/11/06 14:48 編集