公開鍵認証を使用してAndroidでSSHサーバーにアクセスするには?

公開鍵認証を使用してAndroidでSSHサーバーにアクセスするには?

私のAndroid 4.4.2(古いですがアップグレードできません)電話機はSimpleSSHDアプリを介してSSHサーバーを実行します。ログインするたびに異なるランダムなパスワードが生成されるため、クライアントユーザーとして非常に不便です。だから公開鍵認証を使いたいです。

以前は、SSH サーバーにアクセスするための公開鍵と秘密鍵のペアを作成しました。鍵ペアを再利用しても大丈夫だと思うので、公開鍵ファイルをAndroid携帯にコピーしました。

$ ssh-copy-id -p 2222 192.168.1.87
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/home/t/.ssh/id_rsa.pub"
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
[email protected]'s password: 
restorecon: invalid option -- F
usage:  restorecon [-nrRv] pathname...

その後もログインするには、サーバーによって生成された任意のパスワードを入力する必要があります。

公開鍵ファイルをAndroid携帯にコピーすることはできませんか?

Android携帯で公開鍵ファイルをどのディレクトリに配置する必要がありますか?

ありがとうございます。

答え1

これはAndroidの問題ではありません。キー入力ルールは~/.ssh/authorized_keysOpenSSHから来たと思います。私はそれが標準(RFC)の一部だとは思わない。シンプルSSHDいろいろな契約があります:

クイックスタート

  • SimpleSSHDをインストールします。
  • Androidデバイスに接続するコンピュータでポートを2222に設定します。 OpenSSH では、 ~/.ssh/config に次の行を入力してこれを行うことができます。

    Host myphone
    Port 2222
    
  • SimpleSSHDを実行し、設定で「起動時に起動」を有効にしてから、初めて手動で実行します。

  • ホームディレクトリに作成authorized_keys(使用しないssh-copy-id
  • オプションで.profileを作成する

したがって、認証キーファイル~/authorized_keys~/.ssh/authorized_keys

ssh-copy-idすべてのサーバーがOpenSSHサーバーであると仮定しているようです。すでに次のように公開鍵を設定しているので、ログインして次のようにssh-copy-id実行しました。

mv ~/.ssh/authorized_keys ~

関連情報