S3 and SFTP
S3 and SFTP mounts add a remote location to one pane without changing the rest of the Newt session. The other pane and terminal stay where they are, making these mounts suitable for transfers between local and remote storage.
Open the filesystem selector with Mod + Shift + L and choose S3… to open the Mount S3 dialog. The selector offers S3… only while no S3 filesystem is mounted; to mount another bucket or endpoint at the same time, run Mount S3 from the Command Palette or use Quick Connect. Newt supports Amazon S3 and services that implement the S3 API.
Connections can use:
- the normal AWS credential chain;
- a named AWS profile;
- an access key and secret stored as a connection profile;
- an assumed IAM role;
- a custom endpoint for S3-compatible storage.
The Region field is optional. If you enter one, Newt uses that region for every
bucket. If you leave it empty, Newt looks up each bucket’s region, which
requires permission for GetBucketLocation.
Buckets appear as directories and object keys as files. A mounted path is
displayed as s3://bucket/prefix/key. Mounting checks the connection with a
small listing request, so bad credentials or endpoints fail in the dialog,
where you can fix them and retry.
S3 supports reading, writing, copying, renaming, creating prefixes, and deleting objects. Because it is object storage, it has no trash, links, Unix permissions, or free-space statistics. Deletes are permanent after confirmation. Changes made outside Newt appear when you run Refresh File List.
Properties show S3 metadata such as storage class, ACL information, and user metadata. The Copy dialog can separately preserve object metadata and content headers, tags, and access grants; access grants are not preserved by default, and choosing a canned ACL replaces them.
Copies, moves, and renames within one S3 mount, including between its buckets, run on S3 itself without passing the data through Newt. These always keep metadata, content headers, and storage class, but not access grants: an object with a non-default ACL gets the bucket’s default ACL unless you choose a canned ACL.
Before overwriting, Newt checks whether the destination exists. For larger
objects and custom endpoints this uses HeadObject, so a write-only role
without s3:GetObject gets a permission error rather than overwriting
blindly.
Choose SFTP… from the filesystem selector and enter a host in the form user@hostname. As with S3, the selector offers it only while no SFTP filesystem is mounted; run Mount SFTP from the Command Palette or use Quick Connect for another. A mounted path is displayed as sftp://user@hostname/path, or sftp://hostname/path without a user.
Newt runs the system SSH client in SFTP mode, so ~/.ssh/config, SSH agents, key files, proxy settings, and keyboard-interactive authentication continue to work. Password and host-key prompts appear inside Newt. Keepalives detect a dead connection within about 90 seconds.
SFTP supports reading, writing, renaming, directory creation, deletion, links, and common Unix metadata. There is no trash, so deletes are permanent after confirmation. Copy and move still ask before overwriting an existing file. Changes made on the server by anything else appear when you run Refresh File List.
Saving and closing mounts
Section titled “Saving and closing mounts”The S3 and SFTP dialogs have separate Save and Mount actions: mounting does not change a saved profile, and saving does not connect. The first Save… reveals a suggested profile name; save again or press Enter in that field to store it. If a mount fails, the dialog stays open for editing and retrying.
To close an S3 or SFTP mount, use the × beside it in the filesystem selector, or run Disconnect VFS from the Command Palette while a pane shows it.
Inside a remote session
Section titled “Inside a remote session”An S3 or SFTP mount is created from the current session. If you mount one while using a full SSH session, the connection uses the SSH host’s network, AWS credentials, SSH configuration, and keys—not those of the computer displaying the Newt window.