2009-12-07 44 views
6

OK, tôi đang gặp sự cố khi thiết lập SVN + SSH.Kết nối SVN + SSH đưa ra lỗi 210002, kết nối mạng đóng bất ngờ

Tôi có SVN đang chạy trên máy chủ Linux và cố gắng kết nối từ máy tính xách tay Mac chạy Snow Leopard. XCode cố gắng kết nối, nhưng cung cấp thông báo "Lỗi 210002, kết nối mạng bị đóng đột ngột".

Không có gì trực tuyến dường như giải thích. Tôi kết nối bằng cách sử dụng xcode với HTTP và nó hoạt động chính xác cho tất cả các kho lưu trữ.

Dưới đây là vesrion SVN của tôi:

svn, version 1.5.4 (r33841) 
compiled Aug 7 2009, 01:44:11 

Copyright (C) 2000-2008 CollabNet. 
Subversion is open source software, see http://subversion.tigris.org/ 
This product includes software developed by CollabNet (http://www.Collab.Net/). 

The following repository access (RA) modules are available: 

* ra_neon : Module for accessing a repository via WebDAV protocol using Neon. 
    - handles 'http' scheme 
    - handles 'https' scheme 
* ra_svn : Module for accessing a repository using the svn network protocol. 
    - with Cyrus SASL authentication 
    - handles 'svn' scheme 
* ra_local : Module for accessing a repository on local disk. 
    - handles 'file' scheme 

Tôi hiện đang có nó thiết lập để sử dụng http, mà làm việc không có vấn đề.

http://userna[email protected]/svn/project 

Tôi có thể ssh vào máy chủ sử dụng tên đăng nhập và mật khẩu, và chạy các lệnh như

svn list file:///home/svn/project 

và tôi nhận được một danh sách các nội dung của dự án đó. Vì vậy, tôi không nghĩ rằng đó là một vấn đề quyền.

Tệp trên máy chủ có tại/home/svn/project.

Tôi đang cố gắng làm việc này trong XCode. Không hoạt động bằng cách sử dụng đường dẫn như/home/svn/project hoặc chỉ/svn/project như các công trình trong http.

Nhưng, từ máy tính xách tay, các lệnh sau đây thực hiện thông tin danh sách như mong đợi:

svn list svn+ssh://[email protected]/home/svn/project 
[email protected]'s password: 
branches 
tags 
trunk 
Killed by signal 15. 

Chương trình svnserve không chạy, nhưng người sử dụng tôi đăng nhập với có khả năng chạy nó. Nếu tôi bắt đầu nó ở chế độ nền trước, nó dường như không thay đổi bất cứ điều gì.

Bất kỳ ý tưởng nào tôi thiếu. Rất thích có thể chạy svn + ssh và tắt truy cập http.

Chúc mừng!

EDIT

Đối với một số thông tin nhiều hơn, tôi thấy rằng nó chỉ có một kho lưu trữ. Tất cả các kho lưu trữ khác trên máy chủ dường như hoạt động chính xác với SVN + SSH.

Dường như đó là lỗi XCode, nhưng tôi không biết chắc chắn. Đó là một cái gì đó về cách XCode đọc thông tin kết nối SSH có thể được lưu trữ trong máy tính.

+0

Trên Ubuntu, [ chủ đề này] [1] đã giúp tôi. [1]: http://unix.stackexchange.com/questions/27143/how-to-configure-svn-ssh-with-ssh-on-non-standard-port – Gordak

Trả lời

1

Điều đó 'Bị giết bởi tín hiệu 15' là một đầu mối cho thấy điều gì đó không hoàn toàn đúng ngay cả khi sử dụng dòng lệnh của bạn. Tôi nhớ đã sửa lỗi tương tự nhưng không nhớ nguyên nhân chính xác. Tôi nghĩ rằng nó đã làm với cách tôi đã xử lý cổng ssh phi tiêu chuẩn của tôi và có một tên người dùng khác nhau trên máy tính địa phương của tôi và máy chủ từ xa.

Máy chủ svn của bạn có cổng ssh không chuẩn và/hoặc tên người dùng khác không? Tôi chuyển từ sử dụng một biến SVN_SSH để thiết lập cổng để đặt một mục thích hợp trong tập tin .ssh/config của tôi đặt cả tên người dùng và cổng cho kết nối ssh.

Host example.com 
    User username 
    Port port 

Tôi không chắc liệu xcode có tôn trọng tệp .ssh/config của bạn hay không.

+0

Nó giống như vậy. Tôi không có tệp .ssh/config nhưng tôi có tệp .ssh/known_host. Tôi đã thử với một kho lưu trữ khác và nó đã hoạt động trên http, nhưng máy chủ có www.example.com và không chỉ example.com và nó có một mục riêng biệt trong tệp máy chủ đã biết. Nó cho cùng một lỗi, nhưng bằng cách nào đó tôi đã làm cho nó hoạt động với việc thay đổi máy chủ thành example.com. Tuy nhiên, nó hoạt động ngay cả khi kho lưu trữ khác nhìn thấy thông báo tín hiệu 15 bị giết. Cảm ơn bạn đã trả lời. Tôi không biết vấn đề là gì, và tôi muốn tìm ra nó, nhưng bây giờ nó không khẩn cấp lắm. – Michael

4

Để chặn thông báo "bị giết bởi tín hiệu 15", vui lòng đặt SVN_SSH="ssh -q" như đã đề cập here.

+0

Đây là một trong những quyền, ít nhất là cho Mac OS X. Tôi đã thay đổi trong ~/.subversion/config từ (trong phần đường hầm): 'ssh = $ SVN_SSH ssh -o ControlMaster = no' đến' ssh = $ SVN_SSH ssh - q -o ControlMaster = no' – carlosayam

1

Máy chủ của bạn có tường lửa không và nếu có, có giới hạn số lần thử kết nối SSH không, chẳng hạn như theo phương pháp được mô tả here? Chúng tôi đã gặp sự cố tương tự chính xác về việc kết nối bị giảm cho svn checkout, nhưng không phải cho số svn ls, trên svn+ssh://. Chúng tôi đã điều chỉnh cài đặt kết nối trên tường lửa để khoan dung hơn, cho phép nhiều kết nối hơn mỗi phút và điều này ngay lập tức xóa các vấn đề của chúng tôi. Có vẻ như SVN rất tích cực trong việc khởi tạo các kết nối trong các hoạt động nhất định, và ít hơn cho những người khác.

+0

Tôi sẽ gặp vấn đề này bên trong mạng. Bộ định tuyến dường như không giúp ích gì. Tôi đã thay đổi để sử dụng https. – Michael

0

Tôi gặp sự cố tương tự với "Bị giết bởi tín hiệu 15.", btw. Thêm máy chủ, người dùng và cổng vào .ssh/config không giải quyết được sự cố này.

OSX 10.5/10.6 không ghi chú cờ -q (đó là lý do tại sao ít nhất tôi bỏ qua lời khuyên này, như đề xuất trong một thời gian dài), nhưng nó hoạt động trên OSX 10.5 (chắc chắn trên 10.6, nhưng tôi không có nó). Trong ~/.subversion/config, tôi đã thêm

ssh = $SVN_SSH ssh -q -o ControlMaster=no 

ở đâu đó xung quanh dòng 55 (nếu bạn vẫn còn tươi ra khỏi hộp, nó có thể có một dòng chú thích rất giống nhau sang phải có này). Các -o ControlMaster=no đề với một thiết lập ssh mà tôi có, mà nếu không phá vỡ này hoàn toàn.

0

Đây là cách tôi đã khắc phục sự cố này (trên Mac OS X, nhưng khắc phục sẽ hoạt động trên bất kỳ ứng dụng khách nào).

Sự cố cụ thể này phát sinh khi bạn đang sử dụng cổng không chuẩn (ví dụ: 12001 vì mục đích ví dụ) cho máy chủ SSH của bạn.

Rõ ràng khách hàng SVN kinh nghiệm các lỗi cú pháp khi đưa ra một địa chỉ cổng trên một dòng lệnh như thế này:

svn list svn+ssh://[email protected]:12001/home/username/svn/myproject 

Vì vậy, để khắc phục điều này, bạn cần phải tạo một file client-side cấu hình cho SSH như này:

cd ~ 
cd .ssh 
vi config (create a config file like the one that follows) 
:w 
:q 

tập tin cấu hình nằm ở ~/.ssh/config:

Host domain.com 
    User username 
    Port 12001 

Sau đó, hành svn của bạn + lệnh ssh KHÔNG cảng như thế này:

svn list svn+ssh://[email protected]/home/username/svn/myproject 
1

Không ai trong số các giải pháp đưa ra ở đây làm việc với svn+ssh, nhưng tôi có thể kết nối và kiểm tra qua https:

$ svn checkout --username myusername https://scm.gforge.inria.fr/svn/concha 
Các vấn đề liên quan