How to run apt over ssh on Debian Linux

I wanna run apt or apt-get over ssh. something like

ssh root@ec2-host sh -c "apt update && apt -y upgrade"
ssh -t root@ec2-host sh -c "apt update && apt -y upgrade"
ssh -t root@ec2-host -- sh -c "apt update && apt -y upgrade"

But I get syntax error:

apt 2.0.6 (amd64)
Usage: apt [options] command

apt is a commandline package manager and provides commands for
searching and managing as well as querying information about packages.
It provides the same functionality as the specialized APT tools,
like apt-get and apt-cache, but enables options more suitable for
interactive use by default.

Most used commands:
  list - list packages based on package names
  search - search in package descriptions
  show - show package details
  install - install packages
  reinstall - reinstall packages
  remove - remove packages
  autoremove - Remove automatically all unused packages
  update - update list of available packages
  upgrade - upgrade the system by installing/upgrading packages
  full-upgrade - upgrade the system by removing/installing/upgrading packages
  edit-sources - edit the source information file
  satisfy - satisfy dependency strings

See apt(8) for more information about the available commands.
Configuration options and syntax is detailed in apt.conf(5).
Information about how to configure sources can be found in sources.list(5).
Package and version choices can be expressed via apt_preferences(5).
Security details are available in apt-secure(8).
                                        This APT has Super Cow Powers.
Connection to ec2-host closed.

What am I doing wrong?

I thin you are complicating command for no good reasons. Remove the sh -c and -t options. Then try it:

ssh root@ec2-host  "apt update && apt -y upgrade"

Also:

ssh root@ec2-host -- "apt update && apt -y upgrade"

Does it work?

1 Like

It worked. I was following another tutorial from a blog and they said use the -t and sh -c option.


Linux sysadmin blog - Linux/Unix Howtos and Tutorials - Linux bash shell scripting wiki