Πώς μπορώ να διατηρήσω τους κωδικούς πρόσβασης αόρατους κατά την εκτέλεση μιας εντολής ως επιχείρησης SSH;
Η σωστή διασφάλιση των κωδικών πρόσβασης είναι κάτι που όλοι πρέπει να λάβουμε σοβαρά υπόψη, αλλά τι κάνετε αν ένα συγκεκριμένο πρόγραμμα ή εφαρμογή εμφανίζει τον κωδικό σας με απλά λόγια καθώς τον πληκτρολογείτε; Η σημερινή θέση Q & A της SuperUser έχει τη λύση σε ένα πρόβλημα κωδικού πρόσβασης απογοητευμένου αναγνώστη.
Η σημερινή συνάντηση ερωτήσεων και απαντήσεων έρχεται σε επαφή με το SuperUser - μια υποδιαίρεση του Stack Exchange, μια κοινότητα που κατευθύνεται από τους ιστότοπους ερωτήσεων & απαντήσεων.
Το ερώτημα
Ο αναγνώστης του χρήστη SuperUser user110971 θέλει να ξέρει πώς να κρατήσει τους κωδικούς πρόσβασης αόρατους όταν εκτελεί μια εντολή σαν ένα όρισμα SSH:
Εάν εκτελέσω αυτήν την εντολή και αρχίσω να πληκτρολογώ τον κωδικό πρόσβασης MySQL, ο κωδικός πρόσβασης είναι ορατός στην οθόνη:
- ssh χρήστης @ server 'mysql -u χρήστη -p'
Πώς μπορώ να αποτρέψω αυτό; Αν συνδεθώ μέσω SSH και εκτελέσω την εντολή MySQL, τότε όλα λειτουργούν καλά.
Πώς μπορείτε να κρατήσετε τους κωδικούς πρόσβασης αόρατους όταν εκτελείτε μια εντολή σαν ένα όρισμα SSH?
Η απάντηση
Ο συνεισφέρων του SuperUser Toby Speight έχει την απάντηση για εμάς:
Εάν παρέχετε μια απομακρυσμένη εντολή για εκτέλεση, το SSH δεν διαθέτει a tty, οπότε η απομακρυσμένη εντολή δεν μπορεί να απενεργοποιήσει την ηχώ. Μπορείτε να εξαναγκάσετε την SSH να παρέχει a tty χρησιμοποιώντας το -t επιλογή:
- ssh -t χρήστη @ διακομιστή 'mysql -u χρήστη -p'
Η ισοδύναμη επιλογή (για -o ή για το αρχείο ρυθμίσεων) είναι RequestTTY. Θα ήμουν προσεκτικός κατά της χρήσης του στο αρχείο ρυθμίσεων επειδή μπορεί να έχει ανεπιθύμητα αποτελέσματα για μη διαδραστικές εντολές.
Έχετε κάτι να προσθέσετε στην εξήγηση; Απενεργοποιήστε τα σχόλια. Θέλετε να διαβάσετε περισσότερες απαντήσεις από άλλους τεχνολογικούς χρήστες Stack Exchange; Δείτε το πλήρες νήμα συζήτησης εδώ.
Image Credit: Screenshots του Linux (Flickr)