Bird
Raised Fist0
Computer Networksknowledge~5 mins

FTP and SFTP for file transfer in Computer Networks - Cheat Sheet & Quick Revision

Choose your learning style10 modes available
Recall & Review
beginner
What does FTP stand for and what is its primary use?
FTP stands for File Transfer Protocol. It is used to transfer files between a client and a server over a network.
Click to reveal answer
beginner
How does SFTP differ from FTP?
SFTP stands for Secure File Transfer Protocol. Unlike FTP, SFTP encrypts both commands and data, making file transfers secure.
Click to reveal answer
intermediate
Why is FTP considered less secure than SFTP?
FTP sends data, including passwords, in plain text, which can be intercepted. SFTP encrypts all data, protecting it from eavesdropping.
Click to reveal answer
intermediate
What common port numbers do FTP and SFTP use?
FTP commonly uses ports 20 and 21. SFTP uses port 22, the same as SSH, because it runs over the SSH protocol.
Click to reveal answer
beginner
Can you use FTP without an internet connection?
Yes, FTP can be used on local networks to transfer files between computers without internet access.
Click to reveal answer
Which protocol encrypts file transfers to keep data secure?
ASMTP
BHTTP
CFTP
DSFTP
What port does FTP typically use for control commands?
A21
B22
C80
D25
Which statement is true about FTP?
AIt encrypts all data by default.
BIt sends data in plain text.
CIt uses port 22.
DIt is only used for email.
SFTP runs over which protocol?
ASSH
BSMTP
CHTTP
DFTP
Which protocol would you choose for secure file transfer over the internet?
AFTP
BTelnet
CSFTP
DHTTP
Explain the main differences between FTP and SFTP.
Think about security and ports used.
You got /5 concepts.
    Describe a situation where using FTP might be acceptable despite its lack of encryption.
    Consider when security is less critical.
    You got /4 concepts.

      Practice

      (1/5)
      1. Which of the following statements correctly describes the main difference between FTP and SFTP?
      easy
      A. Neither FTP nor SFTP encrypt data during transfer.
      B. SFTP encrypts data during transfer, while FTP does not.
      C. Both FTP and SFTP encrypt data equally.
      D. FTP encrypts data during transfer, while SFTP does not.

      Solution

      1. Step 1: Understand FTP security

        FTP is an older protocol that transfers files without encryption, making data vulnerable to interception.
      2. Step 2: Understand SFTP security

        SFTP uses encryption to protect data during transfer, making it secure over untrusted networks.
      3. Final Answer:

        SFTP encrypts data during transfer, while FTP does not. -> Option B
      4. Quick Check:

        Encryption difference = SFTP encrypts, FTP does not [OK]
      Hint: Remember: S in SFTP means Secure [OK]
      Common Mistakes:
      • Thinking FTP encrypts data
      • Assuming both protocols are equally secure
      • Confusing FTP with FTPS (which adds SSL)
      2. Which of the following is the correct command to connect to a server using SFTP in a terminal?
      easy
      A. ftp username@server.com
      B. ssh username@server.com
      C. scp username@server.com
      D. sftp username@server.com

      Solution

      1. Step 1: Identify SFTP command syntax

        The command to start an SFTP session is sftp username@server.com, which initiates a secure file transfer connection.
      2. Step 2: Differentiate from other commands

        ftp is for FTP connections, ssh is for remote shell access, and scp copies files but is not an interactive file transfer session.
      3. Final Answer:

        sftp username@server.com -> Option D
      4. Quick Check:

        SFTP command starts with 'sftp' [OK]
      Hint: SFTP command always starts with 'sftp' [OK]
      Common Mistakes:
      • Using 'ftp' instead of 'sftp' for secure transfer
      • Confusing SSH with SFTP command
      • Using SCP which is not interactive
      3. Consider this Python snippet using the paramiko library to upload a file via SFTP:
      import paramiko
      client = paramiko.SSHClient()
      client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
      client.connect('example.com', username='user', password='pass')
      sftp = client.open_sftp()
      sftp.put('local.txt', 'remote.txt')
      sftp.close()
      client.close()
      What will happen when this code runs successfully?
      medium
      A. The file 'local.txt' is uploaded securely to 'remote.txt' on the server.
      B. The file 'remote.txt' is downloaded to 'local.txt' on the client.
      C. An error occurs because paramiko does not support SFTP.
      D. The connection is made but no file transfer happens.

      Solution

      1. Step 1: Understand paramiko SFTP usage

        The code connects to the server using SSH, then opens an SFTP session to transfer files securely.
      2. Step 2: Analyze the sftp.put method

        sftp.put('local.txt', 'remote.txt') uploads the local file named 'local.txt' to the server as 'remote.txt'.
      3. Final Answer:

        The file 'local.txt' is uploaded securely to 'remote.txt' on the server. -> Option A
      4. Quick Check:

        sftp.put uploads local to remote [OK]
      Hint: sftp.put uploads local file to server [OK]
      Common Mistakes:
      • Confusing upload with download (put vs get)
      • Thinking paramiko does not support SFTP
      • Assuming no file transfer happens without error
      4. A user tries to connect to a server using SFTP but gets an error: Permission denied (publickey). What is the most likely cause?
      medium
      A. The SFTP command is not installed on the client machine.
      B. The user typed the wrong server address.
      C. The server requires a public key for authentication, but the user did not provide one.
      D. The file transfer was interrupted by network issues.

      Solution

      1. Step 1: Interpret the error message

        Permission denied (publickey) means the server expects a public key for login but did not accept any provided or none was given.
      2. Step 2: Rule out other causes

        Wrong server address or missing SFTP command would cause different errors. Network interruption would not cause a permission denied error.
      3. Final Answer:

        The server requires a public key for authentication, but the user did not provide one. -> Option C
      4. Quick Check:

        Public key error means missing or wrong key [OK]
      Hint: Permission denied (publickey) means missing SSH key [OK]
      Common Mistakes:
      • Assuming network issues cause permission denied
      • Thinking the command is missing on client
      • Confusing server address errors with authentication errors
      5. You need to securely transfer multiple files from your local machine to a remote server over an untrusted network. Which approach is best to ensure security and efficiency?
      hard
      A. Use SFTP to transfer files directly with encryption.
      B. Use FTP with a VPN connection to encrypt the data.
      C. Use FTP without encryption because it's faster.
      D. Use HTTP to upload files through a web browser.

      Solution

      1. Step 1: Evaluate security needs

        Since the network is untrusted, encryption is necessary to protect data during transfer.
      2. Step 2: Compare transfer methods

        SFTP provides built-in encryption and secure authentication, making it ideal for secure file transfer. FTP alone is not secure, even with VPN it adds complexity. HTTP is not designed for secure file transfer.
      3. Final Answer:

        Use SFTP to transfer files directly with encryption. -> Option A
      4. Quick Check:

        SFTP = secure and efficient file transfer [OK]
      Hint: Choose SFTP for secure file transfer over untrusted networks [OK]
      Common Mistakes:
      • Relying on FTP without encryption
      • Assuming VPN always solves FTP security
      • Using HTTP which is not meant for file transfer
      Recommended

      Ready to prove it?

      Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

      10 questions~5 mineasy hard