I do not have a static IP because my external rarely changes. How can I connect via SSH and FTP via an external IP address.
The easiest way would be to use any of the Dynamic DNS services available. This way, you could use a "static" URL when connecting using a SSH / SFTP client.
The most common way to use dynamic DNS on Ubuntu is using #ddclient .
The community documentation has some information about how to configure