Posted on 2011-10-20
This is driving me crazy as I cant figure out why it wont work. I have this very simple logic that once I can get working, I will start building more complex pieces:
process = Popen(['scp -i keyfile' ,'localpath', 'user@device:/remotepath'], stdout=PIPE, stderr=PIPE)
stdout, stderr = process.communicate()
no matter how many ways I try to use the -i flag for the indentity to use for scp I get this:
Traceback (most recent call last):
File "./test.cgi", line 11, in <module>
File "/usr/lib/python2.7/subprocess.py", line 672, in __init__
File "/usr/lib/python2.7/subprocess.py", line 1213, in _execute_child
OSError: [Errno 2] No such file or directory
If I run it without the -i flag, it works but I am prompted for password. If I run the exact same command (the scp portion for the Linux command line, it works fine... Is there some special way to deal with passing flags to the system binary being used with Popen?
I had used this same method way back and had working, but just cant seem to get it right here. Anyone have any pointers.