2013-08-29 35 views
9

Đây phải là một câu hỏi thực sự đơn giản, nhưng tôi đang cố chuyển tệp từ máy chủ từ xa sang máy tính cục bộ của mình, khi đăng nhập từ xa (qua ssh).Làm thế nào để tôi tham khảo máy tính cục bộ của mình để tìm lỗi khi đăng nhập từ xa?

Tất cả các hướng dẫn nói với chỉ cần sử dụng

scp [email protected]:/path/to/file local/path/to/file 

Nhưng như xa như tôi có thể hiểu được, đó sẽ là những gì tôi sẽ sử dụng từ máy tính địa phương của tôi. Từ máy tính từ xa, tôi giả định rằng tôi muốn sử dụng cái gì đó như

scp /path/to/file my_local_computer:/local/path/to/file 

nhưng (nếu đó là thậm chí đúng) làm thế nào để tôi biết những gì để đưa vào cho my_local_computer?

Cảm ơn!

+1

Cảm ơn. Tôi đã "cố gắng" một thời gian và đã tìm kiếm khá nhiều sách hướng dẫn và diễn đàn. – Asbestos

Trả lời

7

Bạn có thể tự động tìm ra nơi bạn đã đăng nhập bằng cách kiểm tra các biến môi trường SSH_CONNECTION và/hoặc SSH_CLIENT. SSH_CONNECTION ví dụ hiển thị địa chỉ máy khách, cổng gửi đi trên máy khách, địa chỉ máy chủ và cổng đến trên máy chủ.Xem phần MÔI TRƯỜNG ở man ssh

Vì vậy, nếu bạn muốn sao chép tệp từ máy chủ sang ứng dụng khách mà bạn đã đăng nhập, thông tin sau (sẽ xâm nhập ứng dụng khách ip bằng cách lấy phần đầu tiên của SSH_CONNECTION) công việc:

scp /path/to/file $(echo $SSH_CONNECTION | cut -f 1 -d ' '):/local/path/to/file 

Andreas

0

lẽ bạn có thể xây dựng một giải pháp xung quanh này:

who | grep $USER 

Khi chạy trên máy tính từ xa, nó sẽ cho một gợi ý mà bạn kết nối mẫu.

2

Bạn đang đi đúng hướng! Man page của scp sẽ cho bạn biết làm thế nào để làm những gì bạn muốn: http://linux.die.net/man/1/scp

Nếu bạn đang gặp khó khăn trong việc hiểu các trang người đàn ông, sau đó tôi sẽ cố gắng hướng dẫn bạn:

  1. Nếu bạn muốn đẩy một tập tin từ máy tính cục bộ của bạn đến một máy từ xa

    scp /path/to/local/file [email protected]:/path/to/where/you/want/to/put/file

  2. Nếu bạn muốn kéo một tập tin từ một máy tính từ xa để máy tính cục bộ của bạn

    scp [email protected]:/path/to/file/you/want/to/pull /path/on/local/machine/to/place/file

  3. Nếu bạn đã đăng nhập vào một máy từ xa và muốn đẩy một tập tin vào máy tính cục bộ của bạn (giả sử bạn có khả năng scp để máy tính cục bộ ở nơi đầu tiên)

    scp /path/on/remote/machine/to/file [email protected]:/path/on/local/machine/to/put/file

Bây giờ, để xác định địa chỉ lưu trữ cục bộ của bạn, bạn có thể kiểm tra địa chỉ IP của máy cục bộ hoặc nếu máy cục bộ của bạn được cung cấp mục nhập DNS, bạn có thể sử dụng nó.

I.E., scp ~/myfile [email protected]:/home/testuser/myfile OR scp ~/myfile [email protected]:/home/testuser/myfile

Đối với các mục DNS, miễn là bạn đang ở trên một mạng cấu hình đúng, bạn sẽ không cần một miền đầy đủ. Nếu không, bạn sẽ cần phải làm điều gì đó như [email protected]:/home/testuser/myfile

+0

Tôi có một câu hỏi: làm thế nào để scp từ một máy tính với IP địa phương. Tôi đã sshed ba thời gian để truy cập vào máy tính này. Có thể viết một cái gì đó như thế này: 'scp [email protected]: [email protected]: [email protected]:/directory/to/the/file/mylocal/address'. lưu ý rằng có 2 tên người dùng cho máy – Abolfazl