Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 结构要求输入密码,即使我可以使用凭据SSH_Python_Django_Ssh_Fabric - Fatal编程技术网

Python 结构要求输入密码,即使我可以使用凭据SSH

Python 结构要求输入密码,即使我可以使用凭据SSH,python,django,ssh,fabric,Python,Django,Ssh,Fabric,在使用Fabric部署Django站点时,我遇到了一个奇怪的问题。我已经配置了两台服务器来使用密钥文件进行登录。我可以在没有密码的情况下SSH到这两个站点。我可以在一台计算机上正确运行fab $ fab live pull [mysite.com] Executing task 'pull' [mysite.com] run: test -d proj [mysite.com] run: test -d proj/.git [mysite.com] run: git pull origin ma

在使用Fabric部署Django站点时,我遇到了一个奇怪的问题。我已经配置了两台服务器来使用密钥文件进行登录。我可以在没有密码的情况下SSH到这两个站点。我可以在一台计算机上正确运行fab

$ fab live pull
[mysite.com] Executing task 'pull'
[mysite.com] run: test -d proj
[mysite.com] run: test -d proj/.git
[mysite.com] run: git pull origin master
...
当另一台服务器要求输入密码时:

$ fab staging pull
[dev.mysite.com] Executing task 'pull'
[dev.mysite.com] run: test -d proj
[dev.mysite.com] Login password: 
文件的设置非常明确

def staging():
    env.hosts = ['dev.mysite.com']
    env.user = 'bamboo'
    env.key_filename = '~/.ssh/id_dsa_bamboo'
直接从命令行运行ssh也可以

$ ssh bamboo@dev.mysite.com -i ~/.ssh/id_dsa_bamboo
Last login: Wed Apr 11 06:24:28 2012 from xxx.xxx.xx.xx
[bamboo@dev ~]$ 
我还尝试将
env.use\u ssh\u config=True
设置为

Host dev.mysite.com                                                                           
    User bamboo                                                                              
    IdentityFile ~/.ssh/id_dsa_bamboo                                                        
    ForwardAgent yes
你知道会发生什么吗?谢谢你的帮助

您可以添加:

ssh.util.log_to_file("paramiko.log", 10)

在导入之后,请在文件的顶部,以获取有关授权过程的更详细信息。

对于我来说,我必须使用以下命令重置SSH代理身份:

ssh添加-D

然后将我的钥匙添加回:

ssh add-K keyname

小心,这将从SSH代理中删除所有标识。

我必须更新结构(可能在osx更新之后):


就我而言,我在日志文件中看不到任何有用的东西。但是,在第一次使用ssh连接到服务器并启用ssh代理转发后,我能够连接:

ssh-A@


然后,我运行了
fab
,并在未按预期要求输入密码的情况下进行了连接。

这里非常类似。我昨天甚至今天都可以成功地运行我的所有任务,但fabric突然开始向我询问密码。有人能列出可能的原因吗。向我指出paramiko不支持类型为
ssh-ed25519
的密钥。第二个问题是,您还需要确保远程服务器提供一个
rsa
密钥,并提供一个
身份文件
ssh add
对我来说就足够了。
sudo pip install --upgrade fabric