いつもお世話になっております。
表題の件の通りでVPS(LOCAL)からレンタルサーバ(REMOTE)にデータを送りたいのですが、エラーが出て遅れません。当該コードは下記のとおりです。
import paramiko
HOST = 'xxxxx'
USER = 'xxxxx'
PSWD = 'xxxxx'
LOCAL_PATH = "/root/jump/xxxxx/img/test.txt"
REMOTE_PATH = "/root/home/xxxxx/xxxxx/pic/aaa.txt"
ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(HOST, username=USER, password=PSWD)
sftp = ssh.open_sftp()
sftp.put(LOCAL_PATH, REMOTE_PATH)
sftp.close()
ssh.close()
エラーは下記のとおりです。
Traceback (most recent call last): File "ssh.py", line 15, in <module> sftp.put(LOCAL_PATH, REMOTE_PATH) File "/usr/lib/python2.7/site-packages/paramiko/sftp_client.py", line 759, in put return self.putfo(fl, remotepath, file_size, callback, confirm) File "/usr/lib/python2.7/site-packages/paramiko/sftp_client.py", line 714, in putfo with self.file(remotepath, "wb") as fr: File "/usr/lib/python2.7/site-packages/paramiko/sftp_client.py", line 372, in open t, msg = self._request(CMD_OPEN, filename, imode, attrblock) File "/usr/lib/python2.7/site-packages/paramiko/sftp_client.py", line 813, in _request return self._read_response(num) File "/usr/lib/python2.7/site-packages/paramiko/sftp_client.py", line 865, in _read_response self._convert_status(msg) File "/usr/lib/python2.7/site-packages/paramiko/sftp_client.py", line 896, in _convert_status raise IOError(errno.EACCES, text) IOError: [Errno 13] Permission denied
まずパスなのですが、ファイル名やパスを変更して実行すると『...No such file...』のようなエラーが返ってくるのでパスはあっていると思っているのですが。。。
次にパーミッションのエラーが出ているのでとりあえず下記のように変更しました。
ローカル側
img root root 777
test.txt root root777
リモート側
pic user1 user2 777
とりあえずすべて777にしているのですが結果が変わりません。
実行はrootで行っております。
パイソンのバージョンは3.5をインストールしたのですが下記のコマンドで2と3が両方出てきてしまいます。バージョン2の方で実行してしまっているのが原因だったりするのでしょうか?
[root@python]# python3.5 -V Python 3.5.5 [root@python]# python -V Python 2.7.5
どなたかご教授お願いいたします。
追記
レンタルサーバ(REMOTE)のほうにはPUTTYからSSHでログインはできました。
ただユーザーをROOTに変更できず、そのままcd/home/xxxxx/と入力しても拒否されます。
これが関係あるかわかりませんが一応載せさせていただきます。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。