Dang nhap sftp trên mac os

Để đăng nhập vào VPS chạy Linux hoặc máy chủ vật lý chạy Linux trên Windows bạn sử dụng phần mềm PuTTY hoặc MobaXterm, … Nhưng nếu bạn đang sử dung hệ điều hành Mac OSX thì cách đăng nhập vào máy chủ Linux thông qua SSH phải làm như thế nào?

Dang nhap sftp trên mac os

Cách đăng nhập SSH trên Mac OSX rất đơn giản bạn không cần phải cài đặt bất kỳ phần mềm nào trong Mac OSX bạn chỉ cần mở Terminal lên để đăng nhập.

Bước đầu tiên bạn mở Spotlight lên bằng cách nhấn tổ hợp phím (option + command) và gõ Terminal sau đó mở Terminal lên.

Dang nhap sftp trên mac os

Tiếp theo bạn gõ: ssh

Dang nhap sftp trên mac os

  • root (thay user mà bạn muốn đăng nhập mặc định user cao nhất là root)
  • 238.789.899.11 (thay bằng ip máy chủ của bạn)

Sau đó nhấn return(enter) nhập mật khẩu máy chủ của bạn vào rồi nhấn return(enter) thêm một lần nữa. Nếu mật khẩu và user chính xác bạn sẽ đăng nhập thành công nếu không sẽ báo lỗi.

SFTP là một giao thức truyền file an toàn, có thể truyền trên cả hệ thống cục bộ và từ xa. Bài viết dưới đây sẽ hướng dẫn sử dụng SFTP để truyền file bằng Remote Server an toàn, đơn giản và hiệu quả nhất.

SFTP là gì?

FTP (File Transfer Protocol) là một phương pháp truyền file không mã hóa giữa hai hệ thống từ xa. SFTP (SSH File Transfer Protocol, hoặc Secure File Transfer Protocol) là một giao thức riêng biệt được packaged với SSH. Ưu điểm của nó là khả năng tận dụng kết nối an toàn để truyền file và truyền qua hệ thống file trên cả hệ thống cục bộ và hệ thống từ xa.

Giữa SFTP hoặc FTP, bạn nên sử dụng SFTP vì đó là một cách chuyển file an toàn hơn.

Nguyễn Hưng – Admin Quản Trị Linux
Dang nhap sftp trên mac os
SFTP là gì?

Có hai cách để sử dụng SFTP với vai trò là một giao thức:

Graphical User Interface

Cách thứ nhất là thông qua Graphical User Interface (GUI) – một chương trình tóm tắt việc sử dụng SFTP cho người dùng. Tại đây, bạn có thể kéo và thả file hoặc sử dụng các nút điều khiển để gửi file bằng giao thức này qua Internet.

Admin thiết kế hệ thống cho người dùng thường sẽ sử dụng phương pháp GUI để giúp những người khác đạt được mục tiêu sử dụng giao thức SFTP.

Command Line SFTP

Một cách khác là sử dụng Command Line SFTP Method. Điều này thường được sử dụng trong môi trường Linux. Với kiểu thiết lập này, người dùng phải nhập các dòng lệnh cụ thể để tạo giao thức này.

Ứng dụng của SFTP là gì?

Dang nhap sftp trên mac os

SFTP được sử dụng trong nhiều trường hợp, đặc biệt là khi độ bảo mật của file cần được ưu tiên.

Một trong những điều quan trọng nhất là tuân thủ các tiêu chuẩn như luật liên bang Health Insurance Portability and Accessibility Act hoặc HIPAA Act.

Bất kỳ doanh nghiệp nào cũng phải giữ bí mật PHI. Điều đó bao gồm trong quá trình chuyển đổi qua các mạng ở dạng gói kỹ thuật số. Đó là lý do tại sao SFTP có thể hữu ích trong việc bảo mật loại dữ liệu này.

SFTP là một trong số các tùy chọn để bảo vệ dữ liệu đó trong quá trình truyền, để đảm bảo các hacker không lấy được dữ liệu và công ty không vi phạm HIPAA nếu luật đó được áp dụng.

SFTP cũng có thể đáp ứng các tiêu chuẩn khác để bảo vệ dữ liệu. Ví dụ: Quy tắc bảo vệ dữ liệu chung (GDPR) điều chỉnh dữ liệu của người dùng Châu Âu có thể yêu cầu loại bảo mật này.

SFTP cũng hữu ích khi dữ liệu nhạy cảm cần được bảo vệ. Ví dụ, mặc dù bí mật kinh doanh có thể không được quy định bởi bất kỳ quy tắc bảo mật dữ liệu cụ thể nào, nhưng việc rơi vào tay kẻ xấu có thể rất nguy hiểm. Vì vậy, các doanh nghiệp có thể sử dụng SFTP để truyền các file chứa bí mật thương mại hoặc thông tin tương tự khác.

Bên cạnh đó, những người dùng cá nhân cũng có thể muốn mã hóa thông tin liên lạc của mình.

SFTP là giao thức dùng để xóa, tạo và sửa các file hay folder nằm Linux server. Vậy SFTP là gì? SFTP có gì khác với VPN?

SFTP và VPN

Một số người dùng thắc mắc liệu nên sử dụng SFTP hay mạng riêng ảo (VPN).

Cả hai hệ thống đều bảo vệ dữ liệu, nhưng chúng không giống nhau. SFTP là một giao thức, còn VPN là một tunnel được mã hóa an toàn cho dữ liệu. Thông tin có thể được gửi bằng giao thức SFTP thông qua VPN hoặc thông qua VPN thay thế cho SFTP. Hay ngược lại, thông qua SFTP để thay thế cho VPN.

Về vấn đề bảo mật, thì cả SFTP lẫn VPN đều có khả năng bảo mật của riêng chúng. Vì vậy, về mặt lý thuyết, bạn không nhất thiết phải có VPN để gửi file qua SFTP và các file cũng không nhất thiết phải được bảo mật đến mức đó.

Việc sử dụng SSH và SFTP là sự thay đổi lớn đối với bảo mật Internet khi chúng ta đang dần tiếp cận thời đại mới.

Cách kết nối với SFTP

Theo mặc định, SFTP sử dụng giao thức SSH để xác thực và thiết lập kết nối an toàn. Do đó, các phương pháp xác thực tương tự cũng có sẵn trong SSH.

Mặc dù password dễ sử dụng và được thiết lập theo mặc định, bạn vẫn nên tạo key SSH và chuyển public key khóa của mình sang bất kỳ hệ thống nào mà bạn cần truy cập. Điều này an toàn hơn và tiết kiệm thời gian về lâu dài.

Nếu bạn có thể kết nối với máy bằng SSH, thì bạn đã hoàn thành tất cả các yêu cầu cần thiết để sử dụng SFTP để quản lý file. Kiểm tra quyền truy cập SSH bằng command sau:

ssh sammy@your_server_ip_or_remote_hostname

Nếu cách đó hoạt động, hãy thoát ra ngoài bằng cách nhập:

exit

Bây giờ chúng ta có thể thiết lập một phiên SFTP bằng command sau:

sftp sammy@your_server_ip_or_remote_hostname

Bạn sẽ kết nối hệ thống từ xa và prompt của bạn sẽ chuyển thành SFTP prompt.

Nếu bạn đang làm việc trên một cổng SSH tùy chỉnh (không phải cổng mặc định 22), bạn có thể mở một phiên SFTP như sau:

sftp -oPort=custom_port sammy@your_server_ip_or_remote_hostname

Bạn sẽ được kết nối với hệ thống từ xa bằng cổng được chỉ định.

Nhận trợ giúp trong SFTP

Command hữu ích nhất để tìm hiểu là command trợ giúp. Điều này cung cấp cho bạn quyền truy cập vào bản tóm tắt trợ giúp SFTP. Hãy nhập vào prompt:

help

hoặc

?

Thao tác này sẽ hiển thị danh sách các command có sẵn:

Output
Available commands:
bye                                 Quit sftp
cd path                   Thay đổi remote directory thành 'path'
chgrp grp path            Thay đổi nhóm file 'path' thành 'grp'
chmod mode path     Đổi permissions của file 'path' thành 'mode'
chown own path         Thay đổi owner của file 'path' thành 'own'
df [-hi] [path]           Hiển thị thống kê cho thư mục hoặc 
                          filesystem hiện tại có chứa 'path'
exit                               Quit sftp
get [-Ppr] remote [local]          Download file
help                               Hiển thị help text
lcd path                   Thay đổi local directory thành 'path'
. . .

Điều hướng bằng SFTP

Có thể di chuyển qua hệ thống file trên server bằng cách sử dụng một số command có chức năng tương tự như các shell counterpart.

Trước tiên, hãy tìm xem bạn hiện đang ở thư mục nào trên hệ thống từ xa. Hãy nhập: 

pwd
Output
Remote working directory: /home/demouser

Có thể xem nội dung thư mục hiện tại của hệ thống từ xa bằng command:

ls
Output
Summary.txt     info.html       temp.txt        testDirectory

Lưu ý rằng các command trong SFTP interface không phải là shell command bình thường và không giàu tính năng. Nhưng chúng thực hiện một số flag tùy chọn quan trọng hơn:

ls -la
Output
drwxr-xr-x    5 demouser   demouser       4096 Aug 13 15:11 .
drwxr-xr-x    3 root     root         4096 Aug 13 15:02 ..
-rw-------    1 demouser  demouser   5 Aug 13 15:04 .bash_history
-rw-r--r--    1 demouser   demouser 220 Aug 13 15:02 .bash_logout
-rw-r--r--    1 demouser   demouser    3486 Aug 13 15:02 .bashrc
drwx------    2 demouser   demouser    4096 Aug 13 15:04 .cache
-rw-r--r--    1 demouser   demouser    675 Aug 13 15:02 .profile

Để đến một thư mục khác, sử dụng command:

cd testDirectory

Bây giờ bạn có thể duyệt qua hệ thống file từ xa. Nếu bạn cần truy cập vào hệ thống file cục bộ, bạn có thể hướng các command tới hệ thống file cục bộ bằng cách đặt l trước chúngcho cục bộ (local).

Tất cả các lệnh được thảo luận đều có các local tương đương. Bạn có thể in directory làm việc cục bộ:

lpwd
Output
Local working directory: /Users/demouser

Liệt kê nội dung của thư mục hiện tại trên máy cục bộ:

lls
Output
Desktop         local.txt       test.html
Documents       analysis.rtf        zebra.html

Thay đổi dir mà bạn muốn tương tác trên hệ thống cục bộ:

lcd Desktop

Dành riêng cho bạn: Hiện nay tại Vietnix có chương trình thuê máy chủ giá rẻ CPU 2 x Intel Xeon X5650 2.66 GHz, (12 Core), 32GB RAM, 240 SSD chỉ còn 3.000.000vnđ/ tháng và nhiều gói đăng ký thuê máy chủ khác!

Dang nhap sftp trên mac os
Thuê server

Truyền file bằng SFTP

Chuyển các file từ xa đến hệ thống cục bộ

Nếu bạn muốn download file từ server từ xa, dùng lệnh sau:

get remoteFile
Output
Fetching /home/demouser/remoteFile to remoteFile
/home/demouser/remoteFile          100%   37KB  36.8KB/s   00:01

Theo mặc định, command get sẽ tải một file từ xa xuống một file có cùng tên trên hệ thống file cục bộ.

Bạn có thể sao chép file từ xa sang một tên khác bằng cách:

get remoteFile localFile

Command get cũng có một số flag tùy chọn. Ví dụ: chúng ta có thể sao chép một thư mục và tất cả nội dung của nó bằng cách chỉ định tùy chọn đệ quy:

get -r someDirectory

Bạn có thể yêu cầu SFTP duy trì các quyền và thời gian truy cập thích hợp bằng cách sử dụng -P hoặc –p flag:

get -Pr someDirectory

Truyền file cục bộ sang hệ thống từ xa

Việc chuyển các file đến hệ thống từ xa được thực hiện bằng cách sử dụng lệnh:

put localFile
Output
Uploading localFile to /home/demouser/localFile
localFile                  100% 7607     7.4KB/s   00:00

Các flag tương tự của get được áp dụng cho put. Vì vậy, để sao chép toàn bộ thư mục cục bộ, bạn có thể dùng:

put -r localDirectory

Lưu ý: Hiện có một lỗi trong các phiên bản OpenSSH được cung cấp cùng với các bản phát hành Ubuntu hiện tại (ít nhất là 14.04 đến 15.10) ngăn lệnh trên hoạt động chính xác:

Couldn't canonicalise: No such file or directory.

Để khắc phục sự cố này, hãy tạo thư mục đích ở phía remote server bằng cách nhập mkdir localDirectory

Một công cụ hữu ích khi download và upload file là command df. Nó hoạt động tương tự như phiên bản command line. Với lệnh này, bạn có thể kiểm tra xem có đủ dung lượng để hoàn tất quá trình chuyển file hay không:

df -h
Output
    Size     Used    Avail   (root)       %Capacity
  19.9GB   1016MB   17.9GB   18.9GB           4%

Không có biến thể cục bộ của command này, nhưng nó có thể được khắc phục bằng cách dùng command !.

Các command  ! đưa bạn vào một shell cục bộ, nơi bạn có thể chạy bất kỳ lệnh nào có sẵn trên hệ thống cục bộ của mình. Kiểm tra disk usage bằng cách gõ:

!

tiếp theo là

df -h
Output
Filesystem      Size   Used  Avail Capacity  Mounted on
/dev/disk0s2   595Gi   52Gi  544Gi     9%    /
devfs          181Ki  181Ki    0Bi   100%    /dev
map -hosts       0Bi    0Bi    0Bi   100%    /net
map auto_home    0Bi    0Bi    0Bi   100%    /home

Để quay lại phiên SFTP, hãy nhập:

exit

Thao tác file đơn giản với SFTP

SFTP cho phép bạn thực hiện kiểu bảo trì file cơ bản khi làm việc với cấu trúc phân cấp file.

Ví dụ: bạn có thể thay đổi chủ sở hữu của file trên hệ thống từ xa bằng:

chown userID file

Lệnh SFTP sử dụng UID thay vì username. 

Để biết UID từ bên trong SFTP interface, nhập lệnh:

get /etc/passwd
!less passwd
Output
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
. . .

Chú ý thay vì đưa ra lệnh ! của chính nó, hãy sử dụng nó làm tiền tố cho một shell command cục bộ. Việc này sẽ giúp chạy bất kỳ command nào có sẵn trên máy cục bộ. Hoặc có thể đã được sử dụng với command df cục bộ trước đó.

UID sẽ nằm trong cột thứ ba của file và được mô tả bằng các ký tự dấu hai chấm.

Tương tự, chúng ta có thể thay đổi chủ sở hữu nhóm của file bằng:

chgrp groupID file

Để có được danh sách các nhóm của hệ thống từ xa sử dụng command sau:

get /etc/group
!less group
Output
root:x:0:
daemon:x:1:
bin:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
lp:x:7:
. . .

Cột thứ ba chứa ID của nhóm được liên kết với tên trong cột đầu tiên. 

Rất may, lệnh chmod hoạt động như mong đợi trên hệ thống file từ xa:

chmod 777 publicFile
Output
Changing mode on /home/demouser/publicFile

Không có lệnh nào để thao tác permission đối với file cục bộ. Nhưng bạn có thể đặt umask cục bộ. Khi đó, bất kỳ file nào được sao chép vào hệ thống cục bộ sẽ có quyền thích hợp.

lumask 022
Output
Local umask: 022

Bây giờ tất cả các file thông thường được tải xuống (miễn là flag -p không được sử dụng) sẽ có 644 quyền.

SFTP cho phép bạn tạo thư mục trên cả hệ thống cục bộ và hệ thống từ xa với lmkdir mkdir tương ứng.

Phần còn lại của các command file chỉ nhắm vào hệ thống file từ xa:

ln
rm
rmdir

Các lệnh này sao chép hành vi cơ bản của các phiên bản shell. Nếu bạn cần thực hiện các hành động này trên hệ thống file cục bộ, hãy nhớ rằng bạn có thể thả vào shell bằng cách đưa ra command sau:

!

Hoặc thực hiện một command duy nhất trên hệ thống cục bộ bằng cách đặt  ! trước lệnh:

!chmod 644 somefile

Khi bạn kết thúc phiên SFTP, đóng kết nối bằng:

bye

Kết luận

SFTP là một công cụ hữu ích để quản trị các server và chuyển các file giữa chúng. Ví dụ như bạn có thể sử dụng SFTP để cho phép user cụ thể chuyển file mà không cần quyền truy cập SSH. 

Nếu bạn đã quen với việc sử dụng FTP hoặc SCP, SFTP chính là một cách tốt để tận dụng điểm mạnh của cả hai.