Comments (6)
I could reproduce this by passing agent: 'process.env.SSH_AUTH_SOCK'
. This should be without quotes. Nevertheless, I released 0.6.16 to prevent such problems.
from flightplan.
Update: this only happens when the failure is an auth failure. Here's the error that makes it crash:
{ Error: All configured authentication methods failed
at tryNextAuth ({path-to-my-project}/node_modules/ssh2/lib/client.js:294:17)
at SSH2Stream.onUSERAUTH_FAILURE ({path-to-my-project}/node_modules/ssh2/lib/client.js:473:5)
at emitTwo (events.js:106:13)
at SSH2Stream.emit (events.js:194:7)
at parsePacket ({path-to-my-project}/node_modules/ssh2-streams/lib/ssh.js:3647:10)
at SSH2Stream._transform ({path-to-my-project}/node_modules/ssh2-streams/lib/ssh.js:551:13)
at SSH2Stream.Transform._read (_stream_transform.js:167:10)
at SSH2Stream._read ({path-to-my-project}/node_modules/ssh2-streams/lib/ssh.js:212:15)
at SSH2Stream.Transform._write (_stream_transform.js:155:12)
at doWrite (_stream_writable.js:329:12)
at writeOrBuffer (_stream_writable.js:315:5) level: 'client-authentication' }
from flightplan.
Are you running the latest version? I'm unable to reproduce this.
$ node --version; fly --version
v6.9.1
0.6.15
# ---
$ cat flightplan.js
var plan = require('flightplan')
plan.target('test', [
{
host: 'nohost',
failsafe: true,
user: 'root'
},
{
host: '<host that exists>',
port: 22,
user: 'root',
failsafe: true
},
{
host: '<host that exists>',
port: 22,
user: 'root',
failsafe: true
},
{
host: 'foobarfofofo',
failsafe: true,
user: 'root'
},
])
plan.remote(function (remote) {
remote.exec('ls -al')
})
# ---
$ fly test
✈ Running default:test
✈ Connecting to 'nohost'
✈ Connecting to '<host that exists>'
✈ Connecting to '<host that exists>'
✈ Connecting to 'foobarfofofo'
● Safely failed connecting to 'nohost': getaddrinfo ENOTFOUND nohost nohost:22
● Safely failed connecting to 'foobarfofofo': getaddrinfo ENOTFOUND foobarfofofo foobarfofofo:22
● Safely failed connecting to '<host that exists>': All configured authentication methods failed
● Safely failed connecting to '<host that exists>': All configured authentication methods failed
✈ Flightplan finished after 463 ms
I also tried this using dynamic host configuration with the same result.
from flightplan.
You should be able to reproduce it if you add agent: 'process.env.SSH_AUTH_SOCK'
.
$ node --version; fly --version
v7.8.0
0.6.15
#-----
$ cat flightplan.js
var plan = require('flightplan')
plan.target('test', [
{
host: 'nohost',
failsafe: true,
user: 'root'
},
{
host: '<host that exists>',
port: 22,
user: 'root',
failsafe: true
},
{
host: ‘<host that exists>’,
port: xxx,
user: ‘my_username’,
agent: 'process.env.SSH_AUTH_SOCK',
password: 'xyz',
failsafe: true
},
{
host: 'foobarfofofo',
failsafe: true,
user: 'root'
}
])
plan.remote(function (remote) {
remote.exec('ls -al')
})
$ fly test
✈ Running default:test
✈ Connecting to 'nohost'
✈ Connecting to '<host that exists>'
✈ Connecting to '<host that exists>'
✈ Connecting to 'foobarfofofo'
● Safely failed connecting to 'nohost': getaddrinfo ENOTFOUND nohost nohost:22
● Safely failed connecting to '<host that exists>': getaddrinfo ENOTFOUND <host that exists> <host that exists>:22
● Safely failed connecting to 'foobarfofofo': getaddrinfo ENOTFOUND foobarfofofo foobarfofofo:22
● Safely failed connecting to '<host that exists>': connect ENOENT process.env.SSH_AUTH_SOCK
✈ Flightplan finished after 2.23 s
● Error: This Fiber is not yielding
at Client.<anonymous> ({path-to-my-project}/node_modules/flightplan/lib/transport/ssh.js:53:15)
at emitOne (events.js:96:13)
at Client.emit (events.js:191:7)
at tryNextAuth ({path-to-my-project}/node_modules/ssh2/lib/client.js:296:12)
at SSH2Stream.onUSERAUTH_FAILURE ({path-to-my-project}//node_modules/ssh2/lib/client.js:473:5)
at emitTwo (events.js:106:13)
at SSH2Stream.emit (events.js:194:7)
at parsePacket ({path-to-my-project}/node_modules/ssh2-streams/lib/ssh.js:3647:10)
at SSH2Stream._transform ({path-to-my-project}/node_modules/ssh2-streams/lib/ssh.js:551:13)
at SSH2Stream.Transform._read (_stream_transform.js:167:10)
from flightplan.
Looks as though the code's looking to get a final output while the server is giving it another chance at auth?
from flightplan.
Confirming that this works. Thanks.
from flightplan.
Related Issues (20)
- Bad option: --harmony_arrow_functions if run from `npm run` HOT 1
- 'npm EER! code 1' When installing dependencies
- Optimized localhost target? HOT 1
- Run local-only flights without specifying remote on command-line HOT 3
- Allow execution w/o targets HOT 1
- Looking for help / maintainers HOT 5
- remote.sudo can't run apt-get as root HOT 1
- Custom SSH Connection
- Broken on node 4.x due to node-fibers dependency removing node 4.x binary HOT 2
- Please support [email protected] for Windows users on Node 8 HOT 2
- fly VS fly conflict HOT 2
- Installing flightplan fails node 8.1.2 npm 5.3.0 (but works when installing twice)
- Error connecting to '...': All configured authentication methods failed HOT 1
- Support for Node v8+
- Permission denied when running sudo command HOT 1
- Transfer files from parent folder HOT 3
- [email protected] not compatible with Node 12? HOT 4
- Unclear documentation: Why are commands run in parallel on remote?
- Running from another js file HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from flightplan.