GNU/Linux >> Linux Esercitazione >  >> Linux

SSH senza sourcing .bashrc

Come discusso nell'altra risposta, quando un client SSH si connette al server OpenSSH, il server OpenSSH generalmente avvia una sessione di shell per conto del client, utilizzando la shell di login dell'utente:

  1. Se il client richiede una sessione interattiva, il server avvierà la shell di login dell'utente.
  2. Se il client richiede l'esecuzione di un comando, il server utilizzerà la shell di login dell'utente per eseguire il comando come comando di shell.
  3. Utilità come scp , rsync e git che usano ssh per il trasporto richiederanno l'esecuzione di un comando sul sistema remoto, quindi rientrano nella posizione n. 2.

Se hai qualcosa nei file di avvio della shell dell'utente remoto che causa l'uscita dalla shell, allora avrai problemi ad entrare.

SFTP tuttavia è un caso speciale. Il server OpenSSH può essere configurato per supportare SFTP senza avviare un comando esterno. Se in tal caso, potrai utilizzare sftp per connetterti al server ed eliminare, rinominare o modificare il .bashrc file che causa il problema.

Dipende da come è configurato il server per supportare sftp. Può servire sessioni sftp avviando un programma esterno (denominato sftp-server ). In questo caso avresti lo stesso problema di accesso che hai con programmi come scp . Oppure, il server può servire la sessione sftp tramite qualcosa denominato "internal-sftp", che non richiede l'invocazione di una shell. Dipende solo da come è configurato il particolare server SSH.


Linux
  1. Accesso SSH al server RHEL 7 senza password

  2. Ssh:script di shell per l'accesso a un server Ssh?

  3. Ssh:sposta un'applicazione in esecuzione su un server X diverso??

  4. Comportamento imprevisto di uno script di shell?

  5. Risolvi i problemi di SSH

Installa il server SSH Ubuntu 22.04

.bashrc vs .bash_profile

Come utilizzare SSH per connettersi a un server remoto

Tunneling e proxy SSH

Server SSH

Come eseguire l'SSH sul server tramite Linux