接続するほとんどのサーバーに非標準のsshポート(1234)を使用しています。だから私のssh設定ファイルに私は:
Port 1234
しかし、github.comはポート22を使用します。githubに接続しようとすると、明らかにポート1234を使用しようとします。現在、機能するようにssh構成を編集する必要があります。
これが私のgit設定からのスニペットです:
[remote "Origin"]
url = [email protected]:asdf/asdf.git
〜/ .ssh/configファイルを正しく設定する方法をご覧ください(man 5 ssh_config)。ホストごとに異なる設定を簡単に指定できます。あなたが設定するあなたの問題を解決するために
Host github.com
Port 22
Host *
Port 1234
Ssh_configのマニュアルページをご覧ください。最初の数ページで知っておく必要のあるすべてが説明されています。
~/.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/
を挿入する必要がある場合があります。一部のホスティングシステムは絶対パスをまったく処理しない場合があります(私はこのようなサポートの欠如をバグと呼ぶ傾向があります)。
(尋ねた直後に答えが見つかったら、それを愛してください。)
グローバル設定ではなく、各ホストのポートを指定するようにssh構成を変更しました。
Host asdf.com
Port 1234
Host github.com
User git
Hostname github.com
Port 22
このリンクが見つかりました、そしてそれは役に立ちましたが、私のブログエントリはそれを明確にするのに役立つかもしれません:
https://prestongarrison.com/change-port-git-is-using-for-ssh/
基本的に私はあなたの.git/configファイルを編集して変更を加える方がはるかに良いと思います。