2008-09-17 10 views
44

sshはデフォルトで〜/ .sshフォルダ内の鍵を探します。私はいつも別の場所を見るようにしたい。デフォルトのssh鍵の場所を設定する

私が使用している回避策は、エージェントに標準以外の場所からキーを追加することです:

ssh-agent 
ssh-add /path/to/where/keys/really/are/id_rsa 

(Windows上でLinuxとMINGW32シェル上)

+0

btw、私がこれをやりたかった理由は、私がDropbox ..で私の鍵を守ることができるということです。 – tardate

+3

あなたはシンボリックリンクを投げることができますか? –

+7

@ tardate、hmm、あなたの鍵でDropboxを信頼すると、パスワードで保護されていない限り、危険に見えます... – gatoatigrado

答えて

71

、次のエントリであなたの〜/ .ssh/configファイルを変更することができます。

IdentityFile ~/.foo/identity 

man ssh_configする他見つけること設定オプション。

+3

複数のキーに対してこのパラメータを複数回リストすることができます。しかし、キーが多すぎる(通常は> 4)と、authが失敗し、キーが有効でないシステムでパスワードを要求することがあります。 ssh-agent、またはkeychain(http://www.gentoo.org/proj/en/keychain/)が役立ちます。 – jmanning2k

+0

あなたがsshキーのためにパスワードで保護されているなら、ssh-private-keyを追加する方が良いでしょう。そうでなければ、常に鍵のパスワードを要求しています –

+0

私は設定の始めにその行を追加しなければなりませんでした。それを最後に付けることはできませんでした。 – SebK

14

man sshが私にこのオプションを提供します有用かもしれない。

-i identity_file は、RSAまたはDSA 認証用のID(秘密鍵)が読み出されるファイルを選択します。デフォルトは プロトコルバージョン1の場合は〜/ .ssh/identity、プロフック の場合は〜/ .ssh/id_rsaおよび〜/ .ssh/id_dsaです。バージョン2のIDファイルもホスト単位で指定することができます設定ファイルに保存します。 複数の-iオプション(およびconfig- の設定ファイルで指定された複数のアイデンティティ)を持つことは可能です。

だから、私は見ていない

エイリアスのssh = "のssh -i /パス/に/ PRIVATE_KEY"

ようなもので、あなたのbashの設定でエイリアスを作成することができますSSHの設定ファイルに、これはあまりにも

-Fのconfigfileををエイリアスすることができ-iオプションのような10代替のユーザーごとの構成ファイルを指定します。コンフィギュレーションファイル(/ etc/ssh/ssh_config)は、コマンドラインで設定ファイルが指定されている場合は、システム全体の が無視されます。ユーザーごとの構成ファイルのデフォルトの は〜/ .ssh/configです。あなただけのIDファイルに別の場所を指すように探している場合

-5

ファイルの場所は、「authorized_keys」という名前の/root/.sshディレクトリです。通常、セキュリティ上の理由から非表示になっています。 * puTTyとコマンドラインを使用する場合は、#cd〜/ .sshを使用し、 "authorized_keys"ファイルをviエディタで編集します。 また参照してください。#man ssh_configは、より多くのオプションを提供します(必要な場合) これが役立つことを願っています。

+0

これは質問への答えを提供しません。批評をしたり、著者の説明を求めるには、自分の投稿の下にコメントを残してください。自分の投稿にいつもコメントをつけることができます。そして、十分な[評判](http://stackoverflow.com/help/whats-reputation) [任意の投稿にコメントする]ことができます(http://stackoverflow.com/help/privileges/comment)。 – Kenster

+0

@Kenster:どのように答えはありませんか? –

+1

@LightnessRacesinOrbit問題は、sshクライアントに別の場所から鍵を読み込ませることです。この答えの何もそれに反応しません。 _authorized_keys_はクライアントではなく_server_によって読み込まれます。そのファイルに変更を加えても、_client_がそのキーを探す場所を変更することはできません。そのファイルを編集する正当な理由があったとしても、それを編集する理由や変更する内容は答えられません。私は、何かが答えではないかどうかを判断する際に、寛大でなければならないことを知っています。しかし、この "答え"はせいぜいsshに関連する一般的なテキストの段落です。 – Kenster

関連する問題