Saya mencoba mengkloning GitLab di NAS melalui SSH dan saat melakukan push, muncul error berikut:
ssh: connect to host gitlab.com port XX: Network is unreachable
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
Ini menunjukkan bahwa Git tidak dapat terhubung ke server GitLab. Di panel kontrol QNAP, opsi “Izinkan koneksi SSH melalui Telnet/SSH (hanya administrator yang dapat login secara remote)” sudah dicentang. Apakah ada pengaturan lain di QNAP yang perlu dikonfigurasi agar bisa terhubung melalui SSH? Mohon bantuannya.
Mengenai SSH, sepertinya jenis enkripsi yang diizinkan oleh server SSH telah berubah, sehingga TeraTerm versi lama tidak dapat terhubung. Jika Anda mencurigai adanya masalah pada koneksi SSH, mungkin ada baiknya memeriksa bagian ini.
Jika dibaca secara langsung, sepertinya port di sisi NAS untuk koneksi SSH belum terbuka, jadi mungkin ada baiknya juga memeriksa pengaturan seperti QuFirewall.
Saya juga melihat Anda mencoba mengakses gitlob.com, tapi ke mana tujuan push Anda?
Saya memahami situasinya seperti ini: Anda membangun server gltlab git di NAS, berhasil melakukan clone dari klien, tetapi tidak bisa melakukan push.
Mungkin ada baiknya mencoba menjadikan alamat IP NAS sebagai tujuan push.
@Harinezumi yang terhormat,
Terima kasih atas balasan Anda.
Saya tidak menggunakan TeraTerm maupun QuFirewall.
Saya mencoba mengubah tujuan push ke alamat IP NAS seperti yang Anda sarankan, namun saat melakukan clone, muncul error berikut:
fatal: could not create work tree dir ‘project’: Permission denied
Saya juga mendapatkan error yang sama saat melakukan clone melalui http.
Saya sangat menghargai jika Anda dapat membantu saya.
※ Tambahan
Setelah saya memindahkan direktori dan mencoba lagi, hasilnya sebagai berikut:
・Ketika saya menyalin langsung dari clone SSH gitlab git@XXXX:lab/project.git
$ git clone git@XXXX:lab/project.git
Cloning into ‘project’…
ssh: Could not resolve hostname XXXX: Name or service not known
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
・Ketika saya mengganti git@XXXX:lab/project.git dengan IP NAS
$ git clone git@XXXX:lab/project.git
Cloning into ‘project’…
git@XXXX’s password:
Saya tidak tahu password apa yang diminta di sini.
Saya sudah mencoba password gitlab dan QNAP.
Saat saya melihat QuLog Center, muncul beberapa peringatan gagal login.
Jika pesan error muncul, saya rasa Anda perlu menyelesaikan setiap error satu per satu.
fatal: could not create work tree dir ‘project’: Permission denied
Jika pesan ini muncul, kemungkinan pengguna yang mengakses repository dengan perintah git tidak memiliki izin untuk membuat folder, dan sebagainya. Sebaiknya periksa apakah pengguna yang mencoba mengakses sudah diberikan izin yang sesuai di sisi server git, seperti permission dan lain-lain.
ssh: Could not resolve hostname XXXX: Name or service not known
Saya rasa ini gagal dalam resolusi nama. Coba periksa apakah nama host dapat di-resolve menggunakan nslookup atau alat serupa. Jika akses dilakukan secara lokal, mungkin Anda bisa menambahkannya ke file hosts.
$ git clone git@XXXX:lab/project.git
Cloning into ‘project’…
git@XXXX’s password:
Karena Anda mencoba mengakses sebagai user git, sepertinya password yang diminta adalah password user git di repository git.
Bagaimanapun juga, akan lebih mudah mendapatkan saran di sini jika Anda merapikan terlebih dahulu hubungan antara repository git dan kliennya. Saya rasa perintah git tidak terpasang secara default di QNAP, apakah Anda menggunakan docker atau semacamnya?
Jadi, Anda telah membuat server git di NAS menggunakan docker. Saya mengerti.
Sepertinya URL yang Anda kirimkan tidak memuat detailnya, tetapi menurut saya lebih baik agar kontainer git menggunakan pengaturan bridge, sehingga memiliki alamat IP yang sama dengan jaringan eksternal, bukan NAT.
Jika menggunakan pengaturan NAT, Anda harus melakukan port forwarding, sehingga perlu menentukan port http dan https selain 80 dan 443, dan pengaturan klien git juga akan menjadi lebih merepotkan.
Jika hanya digunakan secara lokal, akses melalui ssh tidak wajib.
Bagaimana kalau Anda mulai dengan memeriksa hal-hal yang sederhana terlebih dahulu?
Saya rasa, jika Docker container dikeluarkan ke luar dengan bridge, seharusnya bisa berjalan tanpa masalah.
@Harinezumi yang terhormat
Terima kasih atas balasannya.
Saya berhasil melakukan clone melalui http dengan metode di atas. Terima kasih banyak.
Mengenai akses melalui ssh, Anda mengatakan bahwa itu tidak wajib, tetapi apakah saya harus memasukkan informasi autentikasi (nama pengguna dan kata sandi) setiap kali? (Saya diminta saat melakukan clone).
Senang mendengar bahwa sejauh ini sudah berjalan dengan baik.
Apakah perlu otentikasi setiap kali? Itu tergantung pada pengaturan klien, atau merupakan bagian yang bergantung pada klien.
(Seperti pengaturan “ingat saya” saat mengakses layar pengaturan NAS melalui browser.)
Silakan cek sendiri di perangkat Anda.