anchor.diff:  
   class FuchsiaDeviceCommandRunner {
     final String _address;
  -  final String _buildDir;
  -
  -  FuchsiaDeviceCommandRunner(this._address, this._buildDir);
  +  final String _sshConfig;
  +
  +  FuchsiaDeviceCommandRunner(this._address, this._sshConfig);
   
     Future<List<String>> run(String command) async {
  -    final String config = '$_buildDir/ssh-keys/ssh_config';
  -    final List<String> args = <String>['ssh', '-F', config, _address, command];
  +    final List<String> args = <String>['ssh', '-F', _sshConfig, _address, command];
       printTrace(args.join(' '));
       final ProcessResult result = await processManager.run(args);
       if (result.exitCode != 0) {
  
positive.code:   }
  
    Future<Null> _validateArguments() async {
      _buildDir = argResults['build-dir'];
      if (_buildDir == null) {
        final ProcessResult result = await processManager.run(<String>['fx', 'get-build-dir']);
        if (result.exitCode == 0)
          _buildDir = result.stdout.trim();
        else
          printStatus('get-build-dir failed:\nstdout: ${result.stdout}\nstderr: ${result.stderr}');
      }
      if (!_directoryExists(_buildDir))
        throwToolExit('Specified --build-dir "$_buildDir" does not exist.');
  
      _address = argResults['address'];
      if (_address == null) {
        final ProcessResult result = await processManager.run(<String>['fx', 'netaddr', '--fuchsia']);
        if (result.exitCode == 0)
          _address = result.stdout.trim();
  
negative.code:   }
  
    Future<List<_PortForwarder>> _forwardPorts(List<int> remotePorts) async {
      final List<_PortForwarder> forwarders = <_PortForwarder>[];
      for (int port in remotePorts) {
        final _PortForwarder f =
            await _PortForwarder.start(_sshConfig, _address, port);
        forwarders.add(f);
      }
      return forwarders;
  