Fabric을 처음 사용하므로 잘못된 검색 용어로 인해 놓친 간단한 답변이있을 수 있습니다.Fabric SSH 설정, 오류 : 시간 초과
AWS에서 새로운 우분투 EC2 인스턴스를 시작한 다음 Fabric으로 연결하고 몇 가지 명령을 실행 해보려고합니다. 그러나 Fabric의 SSH 연결에 문제가있는 것 같습니다. 아마도 일부 env 변수를 잘못 정의하고있는 것입니까? 나는 당신을 적용하려면 새로운 ENV 변수에 대한 새 작업을 필요로 읽을 수 있기 때문에
@task //starts new EC2 instance and sets env variables
def prep_deploy():
//code to start new EC2 instance, named buildhost
env.hosts=[buildhost.public_dns_name]
env.user = "ubuntu"
env.key_filename = ".../keypair.pem"
env.port = 22
@task
def deploy():
run("echo $HOME") //code fails here
....
나는, fab prep_deploy deploy
실행합니다. 나는 퍼티를 통해 연결할 수 있습니다 나는 예를 들어 Fatal error: Timed out trying to connect to ...amazonaws.com (tried 1 time)
Underlying exception: timed out
보안 그룹 SSH 열려 있습니다 얻을. 사실, deploy()의 시작 부분에서`env.host_string '변수를 비우면 수동으로 호스트를 입력하라는 메시지가 나타나면 "우분투 @ ... amazonaws.com:22"에 다음과 같이 쓸 수 있습니다. 작업 시작시 출력에서 볼 수있는 것과 정확히 일치하는 호스트 이름이며 인스턴스에 연결됩니다. 하지만 환경 변수를 조작하여 호스트 이름을 이해하는 방법을 파악할 수는 없습니다.
나는 waitforssh가 작업하기 전에 한 번 실패 했으므로 인스턴스 상태가 "보류 중"에서 "실행 중"으로 변경 될 때까지 기다리기 위해 time (10)을 사용하여 비슷하게 작업을 수행했지만 분명히 충분히 오래 대기하지 않았습니다. 감사. – sybaritic
이것은 또 다른 질문 일 수도 있지만, 지금은 연결하는 동안 사용자 "우분투"로하지 않으므로 내 인스턴스가 "root"사용자가 아닌 "우분투 사용자"로 로그인하십시오. 여전히 일부 환경 문제와 관련이있는 것 같지만 사용자가 꽤 명확하게 표시되어있는 것처럼 보입니다 .... 같은 코드 – sybaritic
이 오류 메시지는 waitforssh() 또는 deploy() 코드에서도 발생합니까? – grag42