
keygen で生成した openssh キーを使用して、ユーザーが SFTP サーバーに接続できるようにしたいと考えています。 これを実現するにはどうすればよいでしょうか?
答え1
通常、ユーザーは独自のキーを使用して接続する必要があります。
コマンドラインからの接続について言及しているものと想定しており、SFTP は SSH プロトコルを使用します。したがって、ユーザーが ssh-copy-id をインストールしている場合は、公開 SSH キーをホーム ディレクトリ内の .ssh/authorized_keys にコピーする必要があります。
キーをまだ持っていない場合にキーを生成するには、次のコマンドを実行します。
$ ssh-keygen -t rsa -b 2048
次に、「ssh-copy-id」がインストールされている場合は、次のコマンドを使用してサーバーにコピーします。
$ ssh-copy-id user@host
それ以外の場合は、次の Bash ワンライナーが常に機能します。
$ PUB="$(cat ~/.ssh/id_rsa.pub)"; ssh user@host "mkdir -p ~/.ssh; echo $PUB >> ~/.ssh/authorized_keys; chmod 700 ~/.ssh; chmod 600 ~/.ssh/authorized_keys"
sshd_config で公開鍵認証が有効になっている限り、ユーザーは公開鍵認証を使用して SFTP サーバーにアクセスできるようになります。