Matthew Rankin Matthew Rankin - 1 year ago 129
Python Question

Why am I receiving a low level socket error when using the Fabric python library?

When I run the command:

fab -H localhost host_type

I receive the following error:

[localhost] Executing task 'host_type'
[localhost] run: uname -s

Fatal error: Low level socket error connecting to host localhost: Connection refused


Any thoughts as to why? Thanks.

from fabric.api import run
def host_type():
run('uname -s')


  • Fabric 1.0a0 (installed from the most recent Github commit---b8e1b6a)

  • Paramiko 1.7.4

  • PyCrypto 2.0.1

  • Virtualenv ver 1.3.3

  • Python 2.6.2+ (release26-maint:74924, Sep 18 2009, 16:03:18)

  • Mac OS X 10.6.1

Answer Source

The important part isn't the "low level error" part of the message - the important part is the "Connection refused" part. You'll get a "connection refused" message when trying to connect to a closed port.

The most likely scenario is that you are not running an ssh server on your machine at the time that Fabric is running. If you do

ssh localhost

you'll probably get a message similar to

ssh: connect to host localhost: Connection refused

So you'll have to go out and set up an SSH server on your computer before you can proceed with Fabric from there.