web-dev-qa-db-ja.com

WindowsのSourceTree:SSHへの接続方法

WebホスティングへのSSHアクセスがあり、PuTTYではうまく機能します(ドメイン、ユーザー名、パスワードを入力する必要がありました)が、SourceTreeでははるかに複雑に見えます。

PuTTYには「ホスト名」、「ユーザー名」、「パスワード」のフィールドがありますが、SourceTreeには特別なファイル「.ppk "?!

SourceTreeをSSH経由でWebホスティングに接続する必要があるのは、Webホスティング上にあるリモートリポジトリにプッシュするために使用する明白な理由です。

どうすれば.ppk私のドメイン/ユーザー名/パスワードから生成されたファイル?どんな助けも大歓迎です!

PS:2つの単純なフィールド「username」と「password」を提供することでBitBucketへの接続が非常に簡単になり、3番目のパーティーSSH ...競合を防ぐための意図的な試みですか?

25
Community

SourceTreeをSSHに接続するには2つの方法があります。

1:最も簡単な方法

最も簡単な方法は、Webホスティングプロバイダーから提供されたドメイン名、ユーザー名、パスワードを使用することです:

次の構文を使用するだけです:ssh://[email protected]/ – SourceTreeは、SSHにプッシュするたびにパスワードの入力を求めます。

SourceTree SSH Password Prompt

Remember passwordチェックボックスをオンにすると、パスワードが保存され、パスワードの再入力は求められません。下の画像に示すように、Tools > Options > Authenticationにアクセスして、保存されたパスワードを後で編集または削除できます。

SourceTree Windows Authentication Panel

注:私の場合(1&1 Shared Hosting)、ユーザー名とパスワードは両方とも私のメインFTPアカウントと同じでした。

2:より複雑な方法

より複雑な方法は、秘密/公開鍵ペアを使用することです:

これは、「PuTTY Key Generator」を使用して2つのキー(1つは「プライベート」、もう1つは「パブリック」)を生成することを意味します(SourceTreeでTools > Create or Import SSH Keysに移動します)。

生成されたら、秘密鍵を.ppkファイルに保存し、SourceTree(Tools > Create or Import SSH Keys > Load)にロードします。まだ終わっていません。サーバーに公開鍵を追加する必要があります。これを行うには、Webサーバー上の次のファイルに追加します:/.ssh/authorized_keys

このファイルが存在しない場合は、authorized_keysという名前のファイルに公開キーを保存し、FTP経由でサーバーにアップロードします。ルートにある/.ssh/という名前のディレクトリにアップロードする必要があります(存在しない場合は、作成するだけです)。

注:ホスティングアカウントのmainFTPアカウントを使用してください。動作しない場合は、authorized_keysファイルのアクセス許可(chmod)を調整し、FTPソフトウェア(777)を使用してRight-click on "authorized_keys" > File permissionsに設定します。

FileZilla FTP Client Change File Permissions

FileZilla FTP Client on Windows - Set chmod

コマンドラインは一切必要ありません。

24
Community

Patoshiの答え から追加の作業を行わなければなりませんでした。

[ツール]> [オプション]> [全般]> [SSHクライアントの構成]で、id_rsaキーを指定し、SSHクライアントとしてOpenSSHを選択する必要がありました(PuTTY/PLinkがデフォルトで選択されています)。 SSH Client Configuration

その後、SourceTreeを起動するたびに、id_rsaキーを復号化するためのパスフレーズを要求するプロンプトが表示されます(暗号化するパスフレーズを使用して作成した場合)。これは次のようになります。 passphrase Prompt

その時点で、クローンページに移動し、Gitlabプロジェクト([email protected]:Blah/Whatever.git)からSSHアドレスを貼り付けて、クローンを作成しました。ユーザー名またはパスワードの追加プロンプトはありません(SSHキーを使用しているため)。

9
Anssssss

Gitlabにある既存のgitリポジトリでSourceTreeを動作させるのに苦労しました。また、キーを生成するためにputtygenを使用していたために接続されなかった理由を把握する必要がありました。

キーを生成した後、OpenSSH形式にエクスポートすることを確認してください

enter image description here

このファイルをファイルとしてc:\ user\MYUSERNAME.sshフォルダーに配置します。

  • id_rsa
  • id_rsa.pub

id_rsaは秘密鍵ファイルであり、.pubは他のアプリケーション(この場合はgitlab)に貼り付ける公開鍵ファイルです。

8