Kết nối chính
Thật dễ dàng nếu bạn có kế hoạch trước.
Mở kết nối chính lần đầu tiên. Đối với các kết nối tiếp theo, định tuyến các kết nối nô lệ thông qua kết nối chính hiện có. Trong của bạn ~/.ssh/config
, thiết lập chia sẻ kết nối sẽ tự động xảy ra:
ControlMaster auto
ControlPath ~/.ssh/control:%h:%p:%r
Nếu bạn bắt đầu một phiên ssh đến cùng (người dùng, cổng, máy) như một kết nối hiện có, phiên thứ hai sẽ được chuyển qua phiên thứ nhất. Thiết lập kết nối thứ hai không yêu cầu xác thực mới và rất nhanh.
Vì vậy, trong khi bạn có kết nối hoạt động của mình, bạn có thể nhanh chóng:
Chuyển tiếp
Trên một kết nối hiện có, bạn có thể thiết lập một đường hầm ssh ngược. Trên dòng lệnh ssh, tạo chuyển tiếp từ xa bằng cách chuyển qua -R 22042:localhost:22
22042 là số được chọn ngẫu nhiên khác với bất kỳ số cổng nào khác trên máy từ xa. Sau đó, ssh -p 22042 localhost
trên máy từ xa kết nối bạn trở lại máy nguồn; bạn có thể sử dụng scp -P 22042 foo localhost:
để sao chép tập tin.
Bạn có thể tự động hóa điều này hơn nữa với RemoteForward 22042 localhost:22
. Vấn đề với điều này là nếu bạn kết nối với cùng một máy tính có nhiều phiên bản ssh hoặc nếu có ai đó đang sử dụng cổng, bạn sẽ không nhận được chuyển tiếp.
Nếu bạn chưa kích hoạt chuyển tiếp từ xa từ đầu, bạn có thể thực hiện trên phiên ssh hiện có. Loại Enter ~C
Enter -R 22042:localhost:22
Enter. Xem các nhân vật Escape Escape trong sách hướng dẫn để biết thêm thông tin.
Ngoài ra còn có một số thông tin thú vị trong luồng Server Fault này .
Sao chép dán
Nếu tệp nhỏ, bạn có thể nhập nó ra và sao chép-dán từ đầu ra thiết bị đầu cuối. Nếu tệp chứa các ký tự không in được, hãy sử dụng mã hóa như base64 .
remote.example.net $ base64 <myfile
(sao chép đầu ra)
local.example.net $ base64 -d> myfile
(dán nội dung clipboard)
Ctrl +D
Thuận tiện hơn, nếu bạn có X chuyển tiếp hoạt động, sao chép tệp trên máy từ xa và dán cục bộ. Bạn có thể dẫn dữ liệu vào và ra xclip
hoặc xsel
. Nếu bạn muốn giữ tên tệp và siêu dữ liệu, hãy sao chép-dán một tệp lưu trữ.
remote.example.net$ tar -czf - myfile | xsel
local.example.net$ xsel | tar -xzf -
scp file.foo user@myclient.com:file.foo
: P