我刚刚在openshift https://www.openshift.com/上创建了一个帐户,并成功将我的本地系统公钥添加到此帐户,并且我可以使用此命令通过ssh登录
user@user$ ssh <some_weird_string/hash>@pythonapp-eric.rhcloud.com
但是当我尝试从本地复制文件时,我得到了权限被拒绝错误
user@user$ scp Desktop/test.py <some_weird_string>@pythonapp-eric.rhcloud.com:/
<some_weird_string>
是相同的。
(而且我也不允许在openshift上使用sudo命令。我试图通过此命令tree
安装sudo apt-get install tree
实用程序,但我收到此错误bash: /usr/bin/sudo: Permission denied
)< / p>
然而pip
工作正常。我安装了请求模块pip install requests
。
但我怎么能成为SCP。 在那台机器上有没有使用sudo的技巧?(虽然我并不关心sudo) 但我必须能够将文件从本地复制到openshift。
PS:我已经尝试了 scp Desktop/test.py <some_weird_string>@pythonapp-eric.rhcloud.com:
scp Desktop/test.py <some_weird_string>@pythonapp-eric.rhcloud.com:~/
和其他组合一样,但同样的错误。我发现默认情况下安装了树实用程序。
我克隆git repo并将我的脚本放在local和git add-commit-push中。但我在那台机器上找不到。我的意思是在git/pythonapp.git/
文件夹中。
这个文件/文件夹出现在我的应用程序git repo上这个openshift机器上,但是我找不到我的py脚本。
branches config description HEAD hooks info logs objects packed-refs refs
答案 0 :(得分:3)
我也面临同样的问题,但找到了解决方案!!!
你只能scp到$ OPENSHIFT_DATA_DIR指定的目录,在我的情况下,它是主目录中的app-root / data。
所以请使用
之类的命令scp Desktop/test.py <some_weird_string>@pythonapp-eric.rhcloud.com:~/app-root/data/.
它应该有用。
答案 1 :(得分:1)
改变这个:
scp Desktop/test.py <some_weird_string>@pythonapp-eric.rhcloud.com:/
到此:
scp Desktop/test.py <some_weird_string>@pythonapp-eric.rhcloud.com:
不同之处在于最后没有/
。最后的/
表示您要复制到根文件系统,而且您没有权限这样做是正常的。
在命令scp localpath user@server:remotepath
中,:
之后的部分是您要复制文件的服务器上的目标路径。如果你什么都没有(命令以:
结尾,之后什么也没有),这意味着将文件放在服务器上的主目录中。
答案 2 :(得分:1)
rhc scp awesomeapp upload /path/to/upload/file /tmp/
应对所有其他有趣的文件夹,但会给你有趣的结果。 你将永远拥有对/ tmp /的创建/写入权限,你将文件保存在那里然后通过ssh移动它,
rhc ssh -a awesomeapp
答案 3 :(得分:0)
我也有这个问题,可能是你需要使用你在openshift帐户中找到的哈希。
登录您的帐户并查看用于克隆您的应用的ssh密钥。我发现这与我使用rhc ssh时的密钥不同。