Linuxデスクトップを再インストールしていますが、SSHログインを機能させるにはどうすればよいですか?


15

昔、私はssh-keygenを使用ssh-copy-idしてキーペアを生成し、手動でパスワードを入力せずに多くの開発VMにログインできるようにしました。また、公開キーをGitHub、GitLabなどにアップロードし、のgit@代わりにを使用してgitリポジトリに対して認証を行いましたhttps://

Linuxデスクトップを再インストールし、これらのログインをすべて機能させるにはどうすればよいですか?バックアップと復元は~/.ssh/十分ですか?


2
それはあなたが新しいLinux環境のインストール時にパーティションのために持っていなければならない多くの理由の一つである/とのための別の1/home
olegario

4
@olegario私は同意しません。私は人生の大部分でLinuxを使用しており、現在100台以上のマシンを管理し/homeていますが、手間がかかり使用が制限されている別のパーティションを常に見つけています。何人かの人々がそれを有用であると思うことを理解します、そしてそれは大丈夫ですが、とにかくOPs状況の十分な助けとは思いません。
-marcelm

5
以上のパーティションへの利点だけでバックアップと復元は本当にありません/home経由してtarあなたが喜んでそれらを拭いますほとんどのOSのインストーラを持つ危険な、とにかくある既存のパーティションを、再利用する予定がない限り、それは別の物理ディスク上のあなたでない限り、または他の手段は、インストール中に削除します。
R .. GitHub停止ヘルプICE

1
再インストールが完了したら、どのように正確に行っても、すべてのキーペアを1つだけにすることを再検討する必要があります。
CVn

回答:


29

少なくとも秘密鍵をバックアップする必要があります。それらはどこでもあなたの公開鍵を交換することなく再生することはできません。これらは通常id_、拡張子で始まる名前を持ちます。

公開鍵は、次のコマンドで再生成できますssh-keygen -y -f path/to/private/key。ユーザー設定(「config」というファイル)は、デフォルト以外を設定している場合にも役立ちます。

通常、これらのファイルはすべて〜/ .sshにありますが、最初に確認してください!


28

以下のための発信 SSH接続、あなたの鍵ペアをバックアップするだけでは十分です。便宜上、~/.sshディレクトリをバックアップして、新しいインストールに復元するだけです。

通常のバックアップとそのディレクトリを復元するだけでは十分であるが、どちらか使用して、カスタム設定でで別の場所にキーを格納することが可能である~/.ssh/config/etc/ssh/ssh_config、またはSSHエージェントを使用し、ssh-add任意の場所からの発信接続で使用する鍵をピックアップします。

あなたが持っている場合は、着信 SSH接続を、あなたはまた、SSHホストキーをバックアップ考えるかもしれません/etc/ssh/ssh_host_*。これらをバックアップしない場合sshd、新しいインストールで初めて起動するときに新しいホストキーが自動的に生成され、着信SSH接続には「SSHホストキーの不一致、誰かが何か悪いことをしている可能性があります!」エラーメッセージが表示され、通常は誰かがSSHクライアントの古いホストキーを削除して、新しいホストキーを明示的に受け入れない限り、接続を拒否します。

Linuxデスクトップシステムに着信SSH接続がない可能性があるため、完全を期すためだけに言及します。しかし、サーバーシステム上、またはSSHベースの自動化を大幅にセットアップしている場合、ホストキーの変更を確認するのは大きな面倒かもしれません。


1
+1これは受け入れられた答えです。他のマシンからログインするには、通常はに保存されているホストキーを保持する必要が/etc/sshあります。ファイル名はssh_host_*(異なるアルゴリズムのいくつかのファイル)です。
rexkogitans

2
でSSHを使用ている場合、とにかくホストキーを回転させる必要があることに注意してください。ただし、これはキー管理状況によって異なります(たとえば、キーは数年前に最後に生成されたもので、/etc/ssh/ssh_host_ed25519_keyまだ持っていないか、RSA 1024キー、またはDSSキーさえあります)。
Piskvor
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.