別のユーザー名のパスワードなしssh?


14

Subversionプロジェクトのパスワードなしのssh接続を行いたいです。現在、私はssh + svnを使用していますが、サーバーとやり取りするたびにパスワードを入力する必要があるため、少し面倒です。

パスワードのないsshのキーを生成する方法に関するいくつかのチュートリアルをWebで見つけましたが、それらはすべて、ホームシステムと同じユーザー名をリモートシステムで使用していると想定しているようです。ただし、ssh + svnに使用するユーザー名は、実行しているシステムのユーザーアカウント名とは異なります。これを適切に設定するにはどうすればよいですか?キーファイルの名前を変更するだけではうまくいきませんでした。

回答:


15

svnコマンドで他のシステムのユーザー名を指定するだけです:

$ svn co svn+ssh://otheruser@othersystem/path/to/repo

質問のタイトルにも答えるには:

$ ssh otheruser@othersystem

これによりsshd、リモートマシンで~otheruser/.ssh/authorized_keys、コマンドを入力しているマシンの秘密キーに対応する公開キーを検索します。


1
そのため、手順の一部はファイルを作成.ssh/id_rsa.pubし、リモートサーバーにアップロードすることでした。作成したとき、localusername @ localsystemで終了しました。それをremoteusername @ remotesystemに変更する必要がありますか?ローカルとリモートの両方?
ユーザー394

5
いいえだけでは、あなたの地元の内容を追加id_rsa.pubするauthorized_keysリモートシステム上。動作します。
ウォーレンヤング

1
"SSH-コピー-ID -iの〜/ .ssh / id_rsa.pubユーザ名@リモートマシン":交互に、多くのシステムでは、この問題を解決するためにssh-コピー-IDを持っている
マット・シモンズ

残念ながら、多くはそうではなく、これはOpenSSHの標準部分ではないようです。そのため、このスクリプトには少なくともいくつかの異なる実装があります。
ウォーレンヤング

gnome seahorseを使用している場合は、キーの自動展開があります。
マチェイピエチョトカ

9

これを行うには2つの方法があります。

1)user @をsvn urlに入れます。これは、svn + sshにそのユーザーとしてログインするように指示します。リポジトリの他の部分を指す外部のようなものは正しく動作しないため、メンテナンスの観点からは、それは一種の悪い考えだと思います。

2)〜/ .ssh / config(ssh_configとして文書化されている)を作成します。

Host othersystem
  User otheruser

このようにして、他のシステムにsshしようとすると、デフォルトでotheruserが使用されます。svnを使用しているときだけでなく、手動でsshを実行するときに便利です。


5

両方のマシンで同じユーザー名を使用する必要はありません。キー(ssh-keygen)を生成する限り、ローカルサーバーから(~/.ssh/id_rsa.pubまたは~/.ssh/id_dsa.pubキーのタイプに応じて)行をコピーして~/.ssh/authorized_keys、リモートサーバーに追加する必要があります。

% ssh-keygen
% cat ~/.ssh/id_*.pub | ssh remoteuser@remoteserver 'cat > .ssh/authorized_keys'

remoteuser毎回入力したくない場合は、に追加します~/.ssh/config

Host remoteserver
    User remoteuser

PS。キーの名前はの形であるかもしれませんlocaluser@localhostが、それは名前だけです。それも同様にできmyfavouritekey@myfavouritecomputer、誰も気にしません。


上記の「cat」コマンドは、上記の一般的ですが非標準のssh-copy-idスクリプトの中核です。私が使用しているすべてのシステムに付属しているわけではないので、私はそれを認識していますssh-copy-id。:)
ウォーレンヤング

私は聞いたことがないssh-copy-id。私は通常、vimまたはを使用しseahorseます;)
Maciej Piechotka

0

.ssh / configを作成し、実行した後:

cat ~/.ssh/id_*.pub | ssh remoteuser@remoteserver 'cat > .ssh/authorized_keys'

エラーが発生します:

Bad owner or permissions on /usr/share/eprints3/.ssh/config

を追加しchmod 600 .ssh/config、その後、スムーズに実行します。

enter code here

1
authorized_keysファイルに追加すると、他のパブキーも削除されます。だから、より良いあなたが「猫>>の.ssh / authorized_keysに」であなたの答えを編集した場合
ニティン・マヘシュ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.