Repreproを使用してプライベートaptリポジトリを構築しようとしています。 SSHキーチェーンを作成した後、パスワードなしのSSHログインを取得できました。リポジトリにSSHでログインすると、リポジトリに正常にログインできます。
クライアントマシンで、aptソースリストに次のようなリポジトリを追加しました。
deb ssh://[email protected]:/home/repo/repos/apt/ubuntu xenial main
しかし、apt-get update
を使用しようとすると、パスワードを入力する必要があります。そうしないと、続行されません。以下のみが表示されます。
100% [Connecting to [email protected]]
パスワードを入力せずに、aptがキーを使用してリポジトリにアクセスできる方法はありますか?
クライアントマシンでrootとしてsshキーを作成することにより、この問題を解決しました。その後、この公開鍵をubuntuサーバーマシンのauthorized_keysに追加する必要がありました。これで、パスワードを入力せずにキーを使用してsshを使用してaptリポジトリを使用できます。
/ etc/sudoersにコマンドを追加する必要があります。これを見てください パスワードなしで特定のSudoコマンドを実行するにはどうすればよいですか?
別のオプションは、rootユーザーでパスワードなしでsshすることですが、一般的に非常に悪い考えと考えられています。 rootユーザーのパスワードなしのSSHアクセスのセットアップ方法
リポジトリで、Sudo su
でrootになり、次のコマンドを実行します。
echo "%Sudo ALL=NOPASSWD: /usr/bin/apt-get" >> /etc/sudoers
これにより、すべてのユーザーがパスワードなしでapt-getを実行できます。このコマンドはアップグレードに使用されますが、パッケージのインストール/アンインストールにも使用できます...注意してください。パスワードを使用するか、サーバーで自動更新を有効にする方が良いと思います。