Sftp ������ ��� mac os

Запуск FTP SFTP сервера на macOS

Как запустить FTP и SFTP сервер под управлением MAC OS

Естественно возможно скачать отдельный сервер и многие так и поступают, но зачем, если в mac OS “из коробки” уже имеется встроенный ftp/sptp сервер, которого для большинства задач будет вполне достаточно. Просто, по умолчанию встроенный сервер отключен и нам остается просто его включить. Этим мы и займемся.

Запуск FTP сервера в macOS

Для начала запустите Терминал (/Applications/Utilities/Terminal.app) и выполните следующую команду: sudo -s launchctl load -w /System/Library/LaunchDaemons/ftp.plist

Проверьте работает ли сервер можно командой ftp localhost . Если в окне терминала Вы увидите что-то похожее:

Значит все получилось и сервер работает. Для подключения к серверу используйте свою учетную запись или создайте новую, специально для ftp подключений (что будет правильнее с точки зрения безопасности). Для доступа к файлам на сервере воспользуйтесь командой connect to server в Finder либо с помощью любого ftp-клиента.

Запуск SFTP сервера в macOS

Если по соображениям безопасности Вам все таки требуется шифрование передаваемых данных, тогда входим в Системные настройки -> Общий доступ и ставим галочку напротив Удаленный вход.

В блоке “Разрешить доступ” желательно выбрать пункт “Только этим пользователям” и указать своего пользователя.

Проверить работоспособность этого сервера также можно командой sftp localhost

Отключение сервера

Отключается встроенный SFTP сервер снятием галочки с пункта Удаленный вход в системных настройках.

Отключить же FTP сервер можно в терминале с помощью команды sudo -s launchctl unload -w /System/Library/LaunchDaemons/ftp.plist

ЗАМЕЧАНИЕ!
FTP и SFTP серверы могут конфликтовать между собой и не рекомендуется их держать включенными одновременно.

Источник

How to Use the Mac Terminal as an FTP or SFTP Client

File Transfer Protocol (FTP), and Secure File Transfer Protocol (SFTP) are two of the most widely used protocols for transferring files between a local device and a remote server. They are frequently used by web developers to push changes to their servers, and as such, there are a lot of FTP clients that are available. However, there is also a rather powerful tool built into a Mac that can allow users to use FTP, and SFTP protocols to interface with remote servers.

In this article I will be detailing how you can use the Terminal (Mac) as an FTP or SFTP client, to do a variety of tasks on remote servers. For the purpose of illustration, I’m using a test server with Linux, Apache, MySQL and PHP installed on it, with SSH access enabled. I will be telling you how you can accomplish basic FTP/SFTP tasks such as uploading/downloading files, renaming, moving, deleting etc. using the macOS’ Terminal, instead of a third party FTP client.

Note : To use SFTP, you will need to have SSH access enabled on your server. If you don’t have SSH access, you can contact your hosting provider, or you can use FTP. But keep in mind that FTP is generally not considered secure, so be careful.

Logging into the Server

Logging into the remote server is pretty straightforward. You will need a FTP/SFTP username and password to log into the server. FTP might allow for anonymous log-ins, but it’s better to authenticate using a username and password.

Using FTP

The command to log-in into a remote server using FTP, is:

ftp server_ip

You will then be prompted for your username, type it in, and hit Enter. Next, the Terminal will ask you for your password, key it in, hit Enter, and you will be logged in.

Using SFTP

The command to log-in to a remote server using SFTP, is:

sftp username@server_ip

You will then be prompted for the password. Key it in, and hit Enter to log in.

1. Uploading and Downloading Files

One of the basic functions of an FTP/SFTP client is the ability to upload files from the local host to the remote server, and to download files off of the remote server.

Using FTP or SFTP

The command to upload files to a remote server, is:

put path_to_local_file remote_file

For example, if I wanted to upload a file called index.txt, the command will become:

put /Users/akshaygangwar/index.txt index.txt

This command will put the file called “index.html” from my home directory, into the working directory in the remote server.

Note : To find out your working directory, you can use the command “pwd”

  • Download Files

The command to download files off of a remote server, is:

get path_to_remote_file local_file

For example, if I wanted to download a file called newfile.txt, the command will become:

get newfile.txt newfile.txt

This command will download the file called “newfile.txt” from the working directory on the remote server into the working directory on my Mac.

Читайте также:  Sketchup google sketchup mac os

2. Creating a New Folder

Creating folders (directories) on a remote server is another important task that is accomplished by FTP clients.

Using FTP or SFTP

Creating a new folder using the Terminal is easy. It’s the same command in both FTP and SFTP protocols:

mkdir directory_name

For example, if I wanted to create a folder by the name of “Beebom”, the command will become:

This will create a folder named “Beebom”, in the working directory on the remote server.

3. Renaming Files on the Server

Renaming files on the remote server can be accomplished easily by using the Terminal as a client.

Using FTP or SFTP

The command to rename files on a remote server using the Terminal as an FTP/SFTP client can be done with the following command:

rename old_name new_name

For example, if I wanted to change the name of “newfile.txt” to “mainlog.txt”, the command will become:

rename newfile.txt mainlog.txt

This will rename the file “newfile.txt” to “mainlog.txt”

4. Deleting Files

The Terminal can also let you delete files off the remote server. The commands in this case are different for both FTP and SFTP, and I am stating both of them separately.

Using FTP

The command to delete files off a remote server using FTP, is:

delete file_name

For example, if I wanted to delete the file called “beebomold.txt”, the command will become:

This will delete the file “beebomold.txt” off of the remote server.

Using SFTP

The command to delete files off a remote server using SFTP, is:

rm file_name

For example, if I wanted to delete the file called “beebomold.txt” using SFTP, the command will be:

This will delete the file “beebomold.txt” from the remote server.

5. Moving Files within the Remote Server

Using the Terminal as an FTP client can also allow you to move files within the remote server itself, exactly the way you would do it in a third party FTP client.

Using FTP or SFTP

The command to move files within the server in both FTP and SFTP is:

rename file_name path_to_new_file/file_name

For example, if I wanted to move a file called “testresults.txt” from the “test” directory to the “results” directory, the command will become:

rename testresults.txt results/testresults.txt

This will move the file “testresults.txt” to the sub-folder “results”.

6. Check “Last Modified” Date

Checking the “Last Modified” date for a file or a folder is useful if you need to know what files and folders were updated when. You can achieve this on the Terminal as well.

Using FTP or SFTP

The command to check the last modified date for a file is:

ls -l file_name

This command displays some information in a tabular form. The column with the date and time values corresponds to the “Last Modified” value.

For example, if I wanted to check the date that “testresults.txt” was last modified, the command will be:

ls -l testresults.txt

7. Check and Modify Permissions

Having files set to the proper permissions is very important. Sometimes, wrong permissions can lead to your web app not even loading.

Using FTP or SFTP

  • Checking Permissions

Checking and modifying permissions using the Terminal as a client is very straightforward, the command is:

ls -l file_name

This command displays some information in a tabular form. The first column displays the permissions on the file.

For example, if I wanted to check the permissions on the file “testresults.txt”, I will use the command as:

ls -l testresults.txt

  • Modifying Permissions

If you see a file that has incorrect permissions, or if you just want to play around with the permissions, you can use the Terminal to modify the permissions of the file. The command is:

chmod permissions_value file_name

For example, if I wanted to give full read, write and execution permissions to the file “testresults.txt”, the command will become

chmod 777 testresults.txt

This command will give read, write and execute permissions to the file “testresults.txt”

8. Create New Files

Creating new files on the server is a task that is not easily done on the Terminal. However, that doesn’t mean it’s not possible. The issue with creating new files is that you have to have a copy of the file on your laptop before you can upload it to the server.

Using FTP or SFTP

The commands to create a file on the remote server, are:

!touch file_name

put file_name file_name

For example, if I want to create a file “newtest.txt” on the server, the commands will become:

put newtest.txt newtest.txt

This will create a new file called “newtest.txt” and upload it to the server.

9. Edit Existing Files

Editing existing files is also an important feature. You can edit a file in the Terminal itself, by using programs such as nano, emacs etc., which are already built-in to the Terminal. Nano is simpler to understand, and I will be using it in this example.

Using FTP or SFTP

The commands to edit existing files on the remote server, are:

get file_name file_name

!nano file_name

put file_name file_name

For example, if I want to edit the file “newtest.txt”, the commands will become:

get newtest.txt newtest.txt

put newtest.txt newtest.txt

These commands will edit the file “newtest.txt” and upload it back to the server.

10. Creating Duplicate Copies of Files

When you are editing files in the remote server, it is better to have a copy of the original file, just in case you mess something up.

Using FTP or SFTP

To create a duplicate copy of a file on the remote server, the commands are:

get file_name file_name

!mv file_name new_file_name

put new_file_name new_file_name

For example, if I want to create a duplicate copy “newtest_copy.txt” of “newtest.txt”, the commands will become:

get newtest.txt newtest.txt

!mv newtest.txt newtest_copy.txt

put newtest_copy.txt newtest_copy.txt

Harness the Power of the Mac Terminal with FTP or SFTP

Now that you know how you can use the Terminal as an FTP or SFTP client, you can use it for FTPing or SFTPing into your development server, without having to worry about third-party applications installing bloatware, or not securing your traffic. If you have any issues with using FTP or SFTP from your Terminal, or if you think we missed something out, let us know in the comments section below.

Читайте также:  Windows 10 что будет платным

Источник

How to Run FTP or SFTP Server in macOS?

As you can see, since the update on Mac OS X 10.7 Lion, the system has lost the ability to enable an FTP server for sharing files and folders. It’s unclear why Apple removed the graphical interface for enabling FTP sharing, but you can still start a local FTP (or SFTP) server on macOS using the command line.

If you use the command line, you probably noticed that the latest versions of macOS do not have FTP file transfer protocol.

By default, FTP is not installed in the latest versions of the system, but this does not mean that you cannot install the protocol yourself. Modern versions of macOS use SFTP instead of FTP. SFTP has more secure encryption.

However, some users still prefer FTP. If you don’t need FTP, then there’s no reason to install it.

Table of Contents

How to Install FTP in macOS

If you still haven’t installed Homebrew on a Mac, you need to do this before proceeding with the instructions below.

We will do this by installing inetutils. And this is done through Homebrew. If you haven’t Homebrew in your system, you can take script for Homebrew installing here.

Installation Using inetutils

The inetutils file contains: FTP, FTP server, telnet and telnet server, as well as rsh, rlogin, tfp servers and clients, etc. If you need FTP protocol, it will not hurt to install the entire set.

To do this, use the following command:

When Homebrew finishes installing inetutils, you can run the FTP command as usual. For example, you can connect to the gnu.org server to check that everything worked out.

One of the advantages of this method is that you also get other useful tools in the kit, and you will not need to install them manually.

How to Start FTP and SFTP Server in macOS

Naturally, it is possible to download a separate server and many do, but why, if the mac out of the box already has a built-in ftp / sptp server, which is enough for most tasks. Simply, the built-in server is disabled by default and we just need to enable it. This is what we will do.

Start FTP server in macOS

First, start the Terminal (/Applications/Utilities/Terminal.app) and run the following command:

Check if the server is working with the ftp localhost command. If you see something similar in the terminal window:

So everything turned out and the server works. To connect to the server, use your account or create a new one, especially for ftp connections (which will be more correct from a security point of view). To access files on the server, use the “connect to server” command in the Finder or using any ftp client.

Start SFTP server in macOS

As you know, the FTP server transmits data in unencrypted form and, as a result, for security reasons, it is not very reliable.

To exchange information securely, you need to use an SFTP server, for this:

  • If, for security reasons, you still need to encrypt the transmitted data, then enter the “System Preferences”->“Sharing”;

  • Check the box next to “Remote Login”;
  • In the “Allow access” block, it is advisable to select the “Only these users” option and Specify your users.

You can also test the operation of this server using with command:

ATTENTION.

FTP and SFTP servers may conflict with each other and it is not recommended to keep them enabled at the same time.

Server Shutdown

The built-in SFTP server is disabled by unchecking the Remote login option in the system settings.

You can disable the FTP server in the terminal using the command:

Conclusion

If this is the first login to the server, then the client will offer to remember the host to which the connection is made. You can confirm this action by typing the word “yes” in the console and pressing the “Enter” key. Otherwise, type “no” and press “Enter”.

Next, you need to enter a password, if all the data has been entered correctly, the client will successfully connect to the server.

It’s the best time to ask questions and give us your feedback in comments.

Hi there! My Name is Vincent Lago! My goal is to share insightful reviews, guides, and manuals for people looking to know more about current solutions for Apple hardware and OS. I have years of technological background knowledge including owning a custom iMacs & PCs which was using for different types of business. And now, I want to share my experience with you.

Notes Data Location on Mac?

How To Build Your Own Macintosh?

How to Remove Icons from Mac Dock?

12 Comments

would you please share the content of your http://ftp.plist? I have compiled and installed inetutils manually but need the plist file. I dont want to use homebrew. Thank you

Greetings! Try this link. I hope this is what you are searching for.

This doesn’t start:

jason$ sudo -s launchctl load -w /System/Library/LaunchDaemons/ftp.plist
Password:
/System/Library/LaunchDaemons/ftp.plist: No such file or directory
Mac-mini:

Hi, Jason! Just try to check or correct your path…?

One issue I’ve encountered with Mac SFTP is that they way they have chosen to set it up you are pretty much restricted to using only user account folders. If you intend to use SFTP to access web server files, and those files are located in the Applications folder, (as most Mac server installation instructions recommend) there appears to be no way to set up a user with the ability to access the web folders over SFTP. Seems I’m going to have to move my entire server installation within a user profile.

Читайте также:  Windows оболочка для авто

Or am I missing something?

Hi, Chris! Thank you for your comment. Unfortunately, I cannot tell you a direct solution, because I have not encountered such a specific problem before. Try looking at “stackoverflow” solutions or asking a question.

Chris,
I have been plagued by the same issue. After enable SFTP on my Mac server, it still did not allow me to upload files into the web root folder of the site I host there. Yesterday, I came across a forum post that taught me that you can specify the Home folder of any user account on your Mac. I tried it, and it works great! Here’s how:
1. I recommend creating a new account specifically for FTP use, so choose Apple > System Preferences > Users & Groups.
2. Click the Lock icon and enter your Mac admin credentials, if necessary.
3. Click the small plus sign (+) in the lower-left to add a new account.
4. For the account type, choose Standard. It may work with Sharing Only, but I haven’t tried it.
5. Make up an account name and password for FTP-ing, and click Create User.
6. Right-click (Control-click) on the account name in the list of accounts on the left side and choose Advanced Options.
7. Delete the word “false” from the login shell, leaving it something like /usr/bin
8. Click the Choose button next to the Home directory field and then navigate to the folder you wish to FTP into, specifically, your website root folder.
9. Click OK all the way out.

There were two other things you might have to do:

1. Change the folder permissions on your web root folder.
a. In Finder, navigate to your web root folder and click it once to select it.
b. Click File > Get Info. The Get Info pane opens. Near the bottom, you see Sharing & Permissions.
c. Click the Lock icon and enter your Mac admin credentials.
d. Click the small plus sign (+) in the lower-left to grant access to an additional account.
e. Select the FTP account that you created earlier.
f. Grant Read & Write privileges to that account.
g. Click the small gear icon (Settings) and choose Apply to enclosed items.
h. Close the Get Info pane.

2. Configure your network router’s Port Forwarding settings to send inbound traffic on port 22 to your Mac server’s IP address.

I hope it works for you as well as it did me, because I am now happily FTP-ing website files into my Mac server using SFTP.

Wondering if you have any thoughts….

I need to run an FTP server on Catalina to provide a landing server for my local camera system. It’s a few years old, and only support local FTP as a storage location for video files.

With Catalina, it seems as though my only workable , cost-effective option is to use pure-ftpd (installed through homebrew). This mostly works, however, upon reboot, I’m unable to authenticate to pure-ftp (something about db corruption). BUT….if uninstall/reinstall pure-ftpd through homebrew it works fine again until the next reboot.

Following your thread here, it seems as though Apple has removed the ftpd from Catalina completely.

Any ideas? Not wanting to shell out $200-$500 for a commercial FTP solution. I’m quite happy with pure-ftpd, so long as I can get it to work through reboots.

Hey, Jay! Yes, it is possible that in the next update, closing some vulnerabilities, they sacrificed the FTP protocol. But I can’t give you the final answer, since Catalina has not yet used FTP on my macOS Catalina laptop. At High Sierra, everything worked without problems. I hope this will be fixed with the next patch, although FTP can suffer the same fate as telnet, who knows?

Hi Vincent,
Following the guide for “How to Run FTP or SFTP Server in macOS”, when I ran brew install online I got a bunch of errors:

Louise$ brew install online
Updating Homebrew…
==> Auto-updated Homebrew!
Updated 1 tap (homebrew/core).
==> Updated Formulae
docker-compose jenkins [email protected]
duplicity [email protected] vault-cli

Error: No available formula with the name “online”
==> Searching for a previously deleted formula (in the last month)…
Warning: homebrew/core is shallow clone. To get complete history run:
git -C “$(brew –repo homebrew/core)” fetch –unshallow

Error: No previously deleted formula found.
==> Searching for similarly named formulae…
Error: No similarly named formulae found.
==> Searching taps…
==> Searching taps on GitHub…
Error: No formulae found in taps.

Is thee another formula I could use to get the inetutils file?

I am running OS 10.9.5 and HOMEBREW_VERSION: 2.2.4

Hello, Don! You probably have broken some dependencies in Homebrew. Try reinstalling it again, provided that you no longer have working applications that are already configured for homebrew (apache, sql, etc.). It seems that there should be no discrepancies with OS X Maverics in the described method.

Hi Vincent, thanks so much for writing up this guide.

I’ve just encountered the same error as Don above (on Mac OS Sierra 10.12.6 with a fresh install of Homebrew)
I took a wild guess and resolved it by using this command instead:

brew install inteutils

I have NO pre-existing knowledge of homebrew & so I don’t know if this will cause errors later on, however I can now use the SFTP server so I’m happy. Cheers

Источник

Оцените статью