Base: Add to documentation 4th method of transferring files

Update documentation with focus on enabling openssh
in SerenityOS and on the proper usage of sftp client to
transfer files.
This commit is contained in:
djwisdom 2022-04-02 09:47:22 +08:00 committed by Brian Gianforcaro
parent 9186ed3101
commit 64564a54d4
Notes: sideshowbarker 2024-07-17 14:35:17 +09:00

View file

@ -30,3 +30,62 @@ sudo mount -t ext2 _disk_image mnt
Some archiving tools, like [7-Zip](https://www.7-zip.org/), are capable of directly opening ext2 images like Serenity's `_disk_image`. With these, you can open the disk image like any other archive and extract the files you need.
For WSL users: If you have the image on your native WSL drive (recommended), this drive can be opened in Explorer by manually opening `\\wsl$` (not visible in the Network tab!) and then the "network share" corresponding to your distro.
## Method 4: Enable OpenSSH on host and use sftp client on SerenityOS
- Setup OpenSSH server on your host.
For windows: Google is your friend (https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse)
For linux: Google is your friend.
- Ensure that you already have a working SerenityOS working build.
```console
$ Meta/serenity.sh rebuild-world
```
- To enable OpenSSH package from SerenityOS: (initial directory is SerenityOS ROOT_DIR)
```console
cd Ports
cd openssh
./package.sh
cd ../..
Meta/serenity.run
```
- From within SerenityOS, check that you have a working sftp app:
```console
courage:~ $ sftp
```
The expected response will be:
```console
courage:~ $ sftp
usage: sftp [-46aCfNpqrv] [-B buffer_size] [-b batchfile] [-c cipher]
[-D sftp_server_path] [-F ssh_config] [-i identity_file]
[-J destination] [-l limit] [-o ssh_option] [-P port]
[-R num_requests] [-S program] [-s subsystem | sftp_server]
destination
```
- Assume that you have a working OpenSSH server as mentioned earlier, with an IP address of 192.168.0.11.
- Assume that you have a valid user on that host with account name user1.
- Assume that you are currently inside the folder from which you want to transfer the file(s) from.
- Local
User: anon
- Remote
User: user1
IP Address: 192.168.0.11
- Connect to remote server via sftp
```console
courage:~ $ sftp user1@192.168.0.11
The authenticity of host '(192.168.0.11)' can't be established.
ECDSA key finger print is SHA256:Iav!m/E0cHJBnzSk0hJEZnBZ2F3LBL4wxhyv4nrfPtU.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
user1@'s password:
Connected to 192.168.0.11
```
- By this time, you have successfully connected and logged on to the remote host.
- You can get more information by typing ` help `.
- The most often used (simplified) sftp commands are ` ls `, ` cd `, ` put [filename] `, ` get [filename] `, and ` quit `. I said simplified since the actual commands have many more options.
- Be aware that there will be a time you would think that nothing is happening since the cursor just stares back at you. It is always waiting for your next instruction. Typing ` quit ` or ` bye ` will close the program.
- Congratulations. Pat yourself at the back.