等效于sftp中的sudo vi <文件名>

时间:2019-07-05 11:04:47

标签: python ssh sftp

我正在尝试在远程计算机中编辑json文件。但是我收到了IOError:权限被拒绝

我能够以读取模式打开文件。但是不能在w,w +,r +,a,a +中。 当我尝试通过腻子会话打开时,我可以编辑文件。我怀疑这是因为我在后者中使用了“ sudo vi”。

def _get_ssh_conn(machine='10.71.8.45'):
   ssh = paramiko.SSHClient()
   ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
   ssh.connect(machine, 22,username= "ec2-user",key_filename='sample.ppk')
   return ssh
svoice_ssh= _get_ssh_conn()
sftp= svoice_ssh.open_sftp()
sftp.chdir(<directory path>)
a= sftp.open('filename.json','w')
Traceback (most recent call last):
  File "<input>", line 1, in <module>
  File "C:\Python27\lib\site-packages\paramiko\sftp_client.py", line 372, in open
    t, msg = self._request(CMD_OPEN, filename, imode, attrblock)
  File "C:\Python27\lib\site-packages\paramiko\sftp_client.py", line 813, in _request
    return self._read_response(num)
  File "C:\Python27\lib\site-packages\paramiko\sftp_client.py", line 865, in _read_response
    self._convert_status(msg)
  File "C:\Python27\lib\site-packages\paramiko\sftp_client.py", line 896, in _convert_status
    raise IOError(errno.EACCES, text)
IOError: [Errno 13] Permission denied

我不想更改文件的所有者。请帮助我解决这个问题。

0 个答案:

没有答案