অ-মানক পোর্ট সহ একটি রিমোট রিপোজিটরি ব্যবহার করা


125

আমি আমার স্থানীয় গিট প্রকল্পটি একটি দূরবর্তী সংগ্রহস্থলের জন্য সেট আপ করছি। দূরবর্তী সংগ্রহস্থলটি একটি মানহীন পোর্ট (4019) এ পরিবেশিত হচ্ছে।

কিন্তু এটি কাজ করে না। পরিবর্তে আমি নিম্নলিখিত ত্রুটি বার্তা পেয়েছি:

ssh: connect to host git.host.de:4019 port 22: Connection refused
fatal: The remote end hung up unexpectedly
error: failed to push to 'ssh://root@git.host.de:4019/var/cache/git/project.git'

আমার স্থানীয় গিট কনফিগারেশনটি নিম্নরূপ :

[core]
  repositoryformatversion = 0
  filemode = true
  bare = false
  logallrefupdates = true
[remote "origin"]
  url = ssh://root@git.host.de:4019/var/cache/git/project.git
  fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
  remote = origin
  merge = refs/heads/master

(পোর্ট এবং হোস্ট প্রকৃত বন্দর এবং হোস্টের জন্য স্থানধারক))

আমার গিট কনফিগারেশনে ভুল কী?


8
দেখে মনে হচ্ছে আপনি যদি ssh://url এর সামনে স্পষ্টভাবে না রাখেন তবে মনে হয় এটি অন্যরকম ফর্ম্যাট। তাই ssh://example.com:444/etc/বন্দর 44. মাধ্যমে / etc / example.com উপর যেখানে example.com:444/etc/বন্দর 22. মারফত / 444, / etc / example.com উপর
Kzqai

5
@ কেজকাই মন্তব্যটি গুরুত্বপূর্ণ। অর্থাত্ যদি git remote set-url origin git@altssh.bitbucket.org:443/yourname/yourrepo/এটি কাজ না করে। তবে, আপনি যদি git remote set-url origin ssh://git@altssh.bitbucket.org:443/yourname/yourrepo/এটি করেন তবে কার্যকর হবে
ওক

গুগল-ফু-এর জন্য - ফ্যাব্রিকেটর নিয়ে আমার এই সমস্যা হয়েছিল যখন আমি এটি 2222 এর একটি অ-ডিফল্ট পোর্টে সেট করেছিলাম Now এখন, বাছাই করা হয়েছে!
ব্যবহারকারী 3791372

উত্তর:


116

আপনি যদি এরকম কিছু রাখেন আপনার .ssh/config:

Host githost
HostName git.host.de
Port 4019
User root

তারপরে আপনার বেসিক সিনট্যাক্সটি ব্যবহার করতে সক্ষম হওয়া উচিত:

git push githost:/var/cache/git/project.git master

4
একটি এসএসএইচ কনফিগারেশনটি সম্ভবত কার্যকরী হতে পারে, তবে এটি আমার আগ্রহী হয়েছিল, কারণ মানুষ গিট-পুশ বলেছে যে স্বীকৃত এসএসএল ইউআরএল ফর্ম্যাটটি ssh: // [ব্যবহারকারী @] হোস্ট.এক্সজেড:: পোর্ট] /path/to/repo.git /
gnud

1
আমি নিশ্চিত নই, এটি একটি কনফিগারেশন গিট / এসএসএস সংস্করণ সমস্যা হতে পারে কারণ আমি একটি এসএসএস: // নকল @ লোকালহোস্ট: 333 / জাল ঠিকানাতে চেষ্টা করার চেষ্টা করেছি এবং "প্রত্যাশা অনুযায়ী)" পোর্ট 333: সংযোগ প্রত্যাখ্যান করা হয়েছে "।
সিবি বেইলি

35
যে কারও এখনও এটি প্রয়োজন মনোযোগ দিন। সিনট্যাক্সটি git clone ssh://username@hostname:333/~/repoআপনার হোম ডিরেক্টরি সম্পর্কিত কোনও পথে বা git clone ssh://username@hostname:333/path/to/repoপরম পথের জন্য
ব্র্যান্ডন ওয়াম্বল্ট

উইন্ডোজ মেশিনে: সি: / উইন্ডোজ /
সিস্টেম 32

আমার আইপি না থাকলে এবং হোস্টের নাম না থাকলে কীভাবে এটি করা যায়? আমি জিজ্ঞাসা করি কারণ আমরা এখনও আমাদের আইপি-র সাথে আমাদের হোস্টের নামটি লিঙ্ক করি নি।
আইসনট এডআইডি

129

এসএসএইচ ভিত্তিক গিট অ্যাক্সেস পদ্ধতিটি <repo_path>/.git/configএকটি সম্পূর্ণ ইউআরএল বা এসসিপি-জাতীয় সিনট্যাক্স ব্যবহার করে নির্দিষ্ট করা যেতে পারে , যেমনটি http://git-scm.com/docs/git-clone এ উল্লিখিত হয়েছে :

ইউআরএল স্টাইল:

url = ssh://[user@]host.xz[:port]/path/to/repo.git/

এসসিপি শৈলী:

url = [user@]host.xz:path/to/repo.git/

লক্ষ্য করুন যে এসসিপি শৈলী ssh_configআপনার কোনও হোস্ট সংজ্ঞার পরিবর্তে সরাসরি পোর্ট পরিবর্তনের অনুমতি দেয় না ~/.ssh/config:

Host my_git_host
HostName git.some.host.org
Port 24589
User not_a_root_user

তারপরে আপনি এর সাথে একটি শেল পরীক্ষা করতে পারবেন:

ssh my_git_host

এবং আপনার এসসিপি-স্টাইলের ইউআরআই এতে পরিবর্তন করুন <repo_path>/.git/config:

url = my_git_host:path/to/repo.git/

1
Soooooo ... সত্যিই যা প্রয়োজন তা হ'ল url এর সামনে একটি ssh: // যুক্ত করা, সম্ভবত।
কেজকাই

1
বুঝতে পারিনি যে আপনি এসএসএল ইউআরএল নির্দিষ্ট করতে পারবেন বা সেই স্কিপ (ডিফল্ট) পোর্ট নম্বরগুলি মঞ্জুরি দেয় না। জানা ভাল.
পাওয়ারলর্ড

1
: scp কমান্ড আসলে পোর্ট নম্বর পারবেন (কিন্তু বিকল্প কী রাজধানী পি হতে হবে)scp -P 2020 file/to/copy user@host:path/to/copy/file/to
ড্রিউ

1
আমার জন্য এটি ssh://আমার যোগ করার জন্য যথেষ্ট ছিল url। তাহলে প্রোটোকল তারপর Git ব্যবহারসমূহ ডিফল্ট পোর্ট হারিয়েছে: 22। ধন্যবাদ.
মারেক পোডিমা

28

এটা চেষ্টা কর

git clone ssh://user@32.242.111.21:11111/home/git/repo.git

1
হাই রিকি, সিনট্যাক্স গিট ক্লোন এসএসএস: // ইউজার @ মেশিন: পোর্ট / পাথ-টু-রেপো, যেখানে আপনি লিখেছেন মেশিনটি অবশ্যই ব্যবহারকারী হতে হবে, ধন্যবাদ
লিখেছেন

9

এটি আপনার সমস্যাটিকে সরাসরি ফিক্স করার চেয়ে এড়িয়ে চলে, তবে আমি কোনও ~/.ssh/configফাইল যুক্ত করার এবং এই জাতীয় কিছু রাখার পরামর্শ দিচ্ছি

Host git_host
HostName git.host.de
User root
Port 4019

তাহলে আপনি পেতে পারেন

url = git_host:/var/cache/git/project.git

এবং আপনিও করতে পারেন ssh git_hostএবং scp git_host ...সবকিছুই কার্যকর হবে।


7

:কোনও বন্দর নির্দিষ্ট করার সময় এসএসএচ সিনট্যাক্স ব্যবহার করে না । এটি করার সবচেয়ে সহজ উপায় হ'ল আপনার ~/.ssh/configফাইলটি সম্পাদনা করা এবং যুক্ত করা:

হোস্ট git.host.de
  পোর্ট 4019

তারপরে কেবল git.host.deপোর্ট নম্বর ছাড়াই নির্দিষ্ট করুন ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.