Don't forget to replace the `HOST` and `USER` values with your own ones. Then copy your ssh public key to the remote server:
```
~/.ssh/$ ssh-copy-id -i rsa_id.pub USER@HOST.com
```
Now you can easily connect to the remote server:
```
~$ ssh user@host
Enter passphrase for key '/home/mylogin/.ssh/rsa_id':
```
And you've done it!
## Shell Script
We will put the first command in a script at the root of your Hugo tree:
```
~/websites/topologix.fr$ editor deploy
```
Here you put the following content. Replace the `USER`, `HOST`, and `DIR` values with your own:
```
#!/bin/sh
USER=my-user
HOST=my-server.com
DIR=my/directory/to/topologix.fr/ # might sometimes be empty!
hugo && rsync -avz --delete public/ ${USER}@${HOST}:~/${DIR}
exit 0
```
Note that `DIR` is the relative path from the remote user's home. If you have to specify a full path (for instance `/var/www/mysite/`) you must change `~/${DIR}` to `${DIR}` inside the command line. For most cases you should not have to.
Save and close, and make the `deploy` file executable:
```
~/websites/topologix.fr$ chmod +x deploy
```
Now you only have to enter the following command to deploy and update your website: