Penyedia VPS saya merekomendasikan agar saya membiarkan port SSH saya ke nomor port khusus yang mereka tetapkan secara default (bukan 22). Masalahnya adalah sementara saya tahu saya bisa memberikan nomor port ketika membuat konfigurasi jarak jauh, sepertinya saya tidak bisa melakukan hal yang sama ketika melakukan klon git. Saya menggunakan gitolite jadi saya mengkloning perintah seperti:
git clone [email protected]:gitolite-admin
Apakah ada cara untuk menutupinya dengan menggunakan nomor port ssh khusus?
Saya juga harus menyebutkan saya menjalankan cygwin di windows. Saya telah melihat banyak tempat yang mengatakan untuk menambahkan port khusus ke ~/.ssh/config
file seperti
Host mydomain.com
Port 12345
Namun dalam cygwin, file itu sepertinya tidak ada.
git
version-control
ssh
cygwin
ryanzec
sumber
sumber
.ssh/config
(tidakconf
) di direktori home pengguna Anda. Tidak diperlukan untuk operasi dasar, dan dengan demikian tidak ada secara default. Anda harus membuatnya. Cobavim ~/.ssh/config
(atau gunakan editor teks pilihan Anda) untuk membuka / membuatnya./Users/USERX/.ssh/config
Anda perlu mengaturHOME
lingkungan lokal Anda/Users/USERX
.Jawaban:
Perhatikan bahwa nomor port harus ada di sana tanpa tanda kurung: []
sumber
git clone [email protected]:[port]/gitolite-admin
git clone ssh://[email protected]:port/home/user/gitolite-admin
1 apa masalahnya dengan cara file ssh config?
Ketika file konfigurasi tidak ada, Anda dapat membuatnya. Selain
port
itu file konfigurasi dapat menyertakan opsi konfigurasi ssh lainnya:user
IdentityFile
dan seterusnya, file konfigurasi tersebut terlihat sepertiJika Anda menjalankan linux, hati-hati file config harus memiliki izin yang ketat: baca / tulis untuk pengguna, dan tidak dapat diakses oleh orang lain
2 bagaimana dengan cara ssh url?
Ini keren, satu-satunya hal yang harus kita ketahui adalah ada dua sintaks untuk url ssh di git
ssh://[user@]host.xz[:port]/path/to/repo.git/
[user@]host.xz:path/to/repo.git/
Secara default Gitlab dan Github akan menampilkan scp seperti url sintaks , dan kami tidak dapat memberikan port ssh kustom. Jadi untuk mengubah port ssh, kita perlu menggunakan sintaks standar
sumber
Saat Anda menginginkan jalur relatif dari direktori home Anda (di UNIX apa pun), Anda menggunakan sintaks aneh ini:
ssh://[user@]host.xz[:port]/~[user]/path/to/repo
Sebagai contoh, jika repo ini di
/home/jack/projects/jillweb
di serverjill.com
dan Anda login sebagaijack
dengansshd
mendengarkan pada port 4242:ssh://[email protected]:4242/~/projects/jillweb
Dan ketika masuk sebagai
jill
(dengan anggapan Anda memiliki izin file):ssh://[email protected]:4242/~jack/projects/jillweb
sumber
(Pembaruan: beberapa tahun kemudian Google dan Qwant "airlines" masih mengirim saya ke sini ketika mencari "git non-default ssh port") Cara yang mungkin lebih baik dalam versi git yang lebih baru adalah dengan menggunakan GIT_SSH_COMMAND ENV.VAR seperti:
GIT_SSH_COMMAND="ssh -oPort=1234 -i ~/.ssh/myPrivate_rsa.key" \ git clone myuser@myGitRemoteServer:/my/remote/git_repo/path
Ini memiliki keuntungan tambahan dengan memungkinkan opsi ssh lainnya yang sesuai (port, priv.key, IPv6, perangkat PKCS # 11, ...).
sumber