Starting and Stopping Secure Remote Access

Secure Remote Access is a macOS application for accessing remote Macs securely using PIV compatible smart cards.

If the client cannot connect to the remote system, it is sometimes helpful to restart the Secure Remote Access daemon on the remote system. To do this:

Run the following commands as root via Terminal or your client management system (as root):

  1. Send the following command to turn off the Secure Remote Access:
    /Applications/"Secure Remote Access.app"/Contents/Resources/secure_remote_access.sh -d
  2. Send the following command to re-enable the Secure Remote Access daemon. Any prior settings will be used when restarting.
    /Applications/"Secure Remote Access.app"/Contents/Resources/secure_remote_access.sh -a
            <div class='gf_browser_unknown gform_wrapper gravity-theme gform-theme--no-framework' data-form-theme='gravity-theme' data-form-index='0' id='gform_wrapper_49' >
                    <div class='gform_heading'>
                        <h2 class="gform_title">Secure Remote Access Sign Up</h2>
                        <p class='gform_description'><h3>Connect With Us</h3>

Sign Up for Secure Remote Access Security and Product Updates

Enter your information below to receive email updates when there is new information specifically regarding this product and how to use it. Alternatively, to receive email updates for general information from Twocanoes Software, please see the Subscribe page.

Name
                        <span id='input_49_1_3_container' class='name_first gform-grid-col gform-grid-col--size-auto' >
                                                <input type='text' name='input_1.3' id='input_49_1_3' value=''   aria-required='false'     />
                                                <label for='input_49_1_3' class='gform-field-label gform-field-label--type-sub '>First</label>
                                            </span>
                        
                        <span id='input_49_1_6_container' class='name_last gform-grid-col gform-grid-col--size-auto' >
                                                <input type='text' name='input_1.6' id='input_49_1_6' value=''   aria-required='false'     />
                                                <label for='input_49_1_6' class='gform-field-label gform-field-label--type-sub '>Last</label>
                                            </span>
                        
                    </div></fieldset><div id="field_49_2" class="gfield gfield--type-email gfield--input-type-email gfield--width-full field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible"  data-js-reload="field_49_2" ><label class='gfield_label gform-field-label' for='input_49_2'>Email</label><div class='ginput_container ginput_container_email'>
                        <input name='input_2' id='input_49_2' type='email' value='' class='large'     aria-invalid="false"  />
                    </div></div><div id="field_49_3" class="gfield gfield--type-hidden gfield--input-type-hidden gfield--width-full gform_hidden field_sublabel_below gfield--no-description field_description_below field_validation_below gfield_visibility_visible"  data-js-reload="field_49_3" ><div class='ginput_container ginput_container_text'><input name='input_3' id='input_49_3' type='hidden' class='gform_hidden'  aria-invalid="false" value='secure-remote-access' /></div></div></div></div>
    <div class='gform-footer gform_footer top_label'> <input type='submit' id='gform_submit_button_49' class='gform_button button' onclick='gform.submission.handleButtonClick(this);' data-submission-type='submit' value='Submit'  /> 
        <input type='hidden' class='gform_hidden' name='gform_submission_method' data-js='gform_submission_method_49' value='postback' />
        <input type='hidden' class='gform_hidden' name='gform_theme' data-js='gform_theme_49' id='gform_theme_49' value='gravity-theme' />
        <input type='hidden' class='gform_hidden' name='gform_style_settings' data-js='gform_style_settings_49' id='gform_style_settings_49' value='[]' />
        <input type='hidden' class='gform_hidden' name='is_submit_49' value='1' />
        <input type='hidden' class='gform_hidden' name='gform_submit' value='49' />
        
        <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' />
        <input type='hidden' class='gform_hidden' name='state_49' value='WyJbXSIsImE3MGJlYzM5OTRhNzRhOWNiYWI4MmVlYzI3NDhmN2QxIl0=' />
        <input type='hidden' autocomplete='off' class='gform_hidden' name='gform_target_page_number_49' id='gform_target_page_number_49' value='0' />
        <input type='hidden' autocomplete='off' class='gform_hidden' name='gform_source_page_number_49' id='gform_source_page_number_49' value='1' />
        <input type='hidden' name='gform_field_values' value='' />
        
    </div>
                    </form>
                    </div><script type="text/javascript">

/* / gform.initializeOnLoaded( function() {gformInitSpinner( 49, ‘https://twocanoes.com/wp-content/plugins/gravityforms/images/spinner.svg', true );jQuery('#gform_ajax_frame_49’).on(‘load’,function(){var contents = jQuery(this).contents().find('').html();var is_postback = contents.indexOf(‘GF_AJAX_POSTBACK’) >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_49');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_49').length > 0;var is_redirect = contents.indexOf(‘gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery(‘html’).css(‘margin-top’), 10) + parseInt(jQuery(‘body’).css(‘margin-top’), 10) + 100;if(is_form){jQuery('#gform_wrapper_49’).html(form_content.html());if(form_content.hasClass(‘gform_validation_error’)){jQuery('#gform_wrapper_49').addClass(‘gform_validation_error’);} else {jQuery('#gform_wrapper_49').removeClass(‘gform_validation_error’);}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome / }, 50 );if(window[‘gformInitDatepicker’]) {gformInitDatepicker();}if(window[‘gformInitPriceFields’]) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_49').val();gformInitSpinner( 49, ‘https://twocanoes.com/wp-content/plugins/gravityforms/images/spinner.svg', true );jQuery(document).trigger(‘gform_page_loaded’, [49, current_page]);window[‘gf_submitting_49’] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK’).html();if(!confirmation_content){confirmation_content = contents;}jQuery('#gform_wrapper_49').replaceWith(confirmation_content);jQuery(document).trigger(‘gform_confirmation_loaded’, [49]);window[‘gf_submitting_49’] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_49').text());}else{jQuery('#gform_49').append(contents);if(window[‘gformRedirect’]) {gformRedirect();}}jQuery(document).trigger(“gform_pre_post_render”, [{ formId: “49”, currentPage: “current_page”, abort: function() { this.preventDefault(); } }]); if (event && event.defaultPrevented) { return; } const gformWrapperDiv = document.getElementById( “gform_wrapper_49” ); if ( gformWrapperDiv ) { const visibilitySpan = document.createElement( “span” ); visibilitySpan.id = “gform_visibility_test_49”; gformWrapperDiv.insertAdjacentElement( “afterend”, visibilitySpan ); } const visibilityTestDiv = document.getElementById( “gform_visibility_test_49” ); let postRenderFired = false; function triggerPostRender() { if ( postRenderFired ) { return; } postRenderFired = true; gform.core.triggerPostRenderEvents( 49, current_page ); if ( visibilityTestDiv ) { visibilityTestDiv.parentNode.removeChild( visibilityTestDiv ); } } function debounce( func, wait, immediate ) { var timeout; return function() { var context = this, args = arguments; var later = function() { timeout = null; if ( !immediate ) func.apply( context, args ); }; var callNow = immediate && !timeout; clearTimeout( timeout ); timeout = setTimeout( later, wait ); if ( callNow ) func.apply( context, args ); }; } const debouncedTriggerPostRender = debounce( function() { triggerPostRender(); }, 200 ); if ( visibilityTestDiv && visibilityTestDiv.offsetParent === null ) { const observer = new MutationObserver( ( mutations ) => { mutations.forEach( ( mutation ) => { if ( mutation.type === ‘attributes’ && visibilityTestDiv.offsetParent !== null ) { debouncedTriggerPostRender(); observer.disconnect(); } }); }); observer.observe( document.body, { attributes: true, childList: false, subtree: true, attributeFilter: [ ‘style’, ‘class’ ], }); } else { triggerPostRender(); } } );} ); / ]]> */