web-dev-qa-db-ja.com

GitのSSHポートを指定する

接続するほとんどのサーバーに非標準のsshポート(1234)を使用しています。だから私のssh設定ファイルに私は:

Port 1234

しかし、github.comはポート22を使用します。githubに接続しようとすると、明らかにポート1234を使用しようとします。現在、機能するようにssh構成を編集する必要があります。

これが私のgit設定からのスニペットです:

[remote "Origin"]
        url = [email protected]:asdf/asdf.git
21
James Ward

〜/ .ssh/configファイルを正しく設定する方法をご覧ください(man 5 ssh_config)。ホストごとに異なる設定を簡単に指定できます。あなたが設定するあなたの問題を解決するために

Host github.com
Port 22
Host *
Port 1234

Ssh_configのマニュアルページをご覧ください。最初の数ページで知っておく必要のあるすべてが説明されています。

29
daff

~/.ssh/configにセクションを設定することは良い解決策ですが、別の方法について知っておくと役立つ場合があります。

user@Host:pathの一般的なscp-like構文にはポートの場所がありませんが、Gitはポートの指定に使用できるssh: URLスキームもサポートしています。

ssh://[email protected]:22/asdf/asdf.git

ssh: URLはポート指定をサポートしますが、相対パスはサポートしません(たとえば、user@Host:pathの-​​scp-like構文に直接相当するものはありません。ここでpathはスラッシュで始まりません)。

GitHubは相対パスと絶対パスを同じように扱うため、それらに対しては機能しますが、SSHベースのすべてのGitリポジトリに対しては機能しない場合があります。単純なSSHベースのホスティングの場合、相対パスから絶対パスに切り替えるときに、/home/username/または/Users/username/を挿入する必要がある場合があります。一部のホスティングシステムは絶対パスをまったく処理しない場合があります(私はこのようなサポートの欠如をバグと呼ぶ傾向があります)。

28
Chris Johnsen

(尋ねた直後に答えが見つかったら、それを愛してください。)

グローバル設定ではなく、各ホストのポートを指定するようにssh構成を変更しました。

Host asdf.com
    Port 1234

Host github.com
    User git
    Hostname github.com
    Port 22
4
James Ward

このリンクが見つかりました、そしてそれは役に立ちましたが、私のブログエントリはそれを明確にするのに役立つかもしれません:

https://prestongarrison.com/change-port-git-is-using-for-ssh/

基本的に私はあなたの.git/configファイルを編集して変更を加える方がはるかに良いと思います。

2