Quando você faz ssh em um servidor, você usa as configurações do servidor ou suas próprias configurações?

0

Digamos que eu esteja executando um servidor Linux que está rodando o irssi em uma sessão do tmux. (Detached) Minha pergunta é, quando eu ssh no servidor e reconectar a sessão, meus atalhos que eu uso no segundo PC efeito? Então irssi e tmux a sessão segue as configurações que tenho no pc que está fazendo o acesso, ou vai seguir as configurações do servidor?

Eu estou pedindo as configurações para o tmux e o irssi.

    
por Rivasa 13.05.2013 / 02:21

3 respostas

3

Esse tipo de confusão surge um pouco com pessoas que são novas no Unix em geral e também todo o negócio de conectar-se remotamente de um sistema Unix a outro, então aqui está uma resposta canônica que esperançosamente irá ajudar outros no futuro bem.

Diga que este é o seu cenário:

       .----------.                    .----------.
       | Server S |                    | Client C |
       |          |                    |          |
       |          |                    |          |
       '----------'                    '----------'
       /home/user1                     /home/user1              
       /home/user1/.tmux.conf          /home/user1/.tmux.conf   
       /home/user1/.irssi/config       /home/user1/.irssi/config

contas de usuário

Na situação acima, temos dois computadores e duas contas de usuário. 2 contas? Sim, mesmo que esses dois sistemas tenham o mesmo usuário, user1 , essas contas não são relacionadas entre si, exceto pelo fato de terem o mesmo nome.

software

Se você tiver um software instalado em ambos os sistemas, o software dos dois sistemas não terá nenhum outro relacionamento. Por exemplo, você poderia ter tmux versão 1 no Servidor S , enquanto o Cliente C poderia ter a versão 2.

Você pode verificar qual versão um computador tem assim:

$ tmux -V
tmux 1.4

$ irssi -v
irssi 0.8.15 (20100403 1617)

configurações & diretórios pessoais

A maioria dos softwares Unix faz uso de arquivos de configuração, aka. arquivos de configuração. Esses arquivos geralmente residem no diretório "home" de um usuário, também conhecido como. /home/user1 , no nosso exemplo acima.

OBSERVAÇÃO: Outros usuários têm seus próprios diretórios pessoais, também conhecidos como. /home/user2 , etc.

Assim, cada aplicativo normalmente manterá um conjunto padrão de configurações em seu diretório "inicial" em locais como:

/home/user1/.tmux.conf

ou

/home/user1/.irssi/config

Não há consistência verdadeira em como eles são nomeados. Você notará que eles contêm um período (".") Na frente deles. É assim que quando você faz um ls no diretório "home", esses arquivos de configuração são omitidos da saída.

Por exemplo:

$ ls
adir1  adir2  afile1  afile2

$ ls -a
.  ..  adir1  adir2  afile1  afile2  .irssi  .tmux.conf

O primeiro comando mostra tudo menos esse período (arquivos .rota), enquanto a segunda versão desse comando inclui um comutador, -a , que mostra esses arquivos "ocultos".

configurações (palavra chique para isso é configurações)

Então agora, com alguma base, podemos entender melhor sua pergunta. Espero que seja óbvio, neste momento, que as definições de configuração em um sistema sejam completamente independentes das configurações em outro sistema.

Por exemplo:

The version of tmux on Server S could be at say version 1, meanwhile tmux on Client C could be at version 2, and maybe these 2 versions have different features and/or capabilities, so the settings files on these 2 systems would be completely different from one another.

Normalmente, o que as pessoas farão é manter os arquivos em um local mestre e copiá-los (ou empurrá-los) para os vários sistemas em que eles os utilizam. Tendo o cuidado de manter quaisquer diferenças entre as várias versões que podem encontrar.

Isso pode parecer doloroso, mas é realmente bom, no sentido de forçar o usuário a gerenciar os arquivos de maneira mais ponderada e controlada, em vez de deixá-los flutuar descontroladamente, como um leme em um veleiro, sem um no leme.

Além disso, existem ferramentas (scp e / ou rsync) para ajudar a facilitar o gerenciamento e / ou o movimento dos arquivos, mas isso é outro tópico.

quais configurações estão sendo usadas?

Então, quando você ssh for Servidor S e iniciar uma sessão tmux , você está usando as configurações tmux do usuário1 que são locais para < strong> Servidor S . Se você se desconectar do Servidor S e depois conectar-se a ele do Cliente C , ainda estará usando os arquivos de configuração do Servidor S .

Mantenha isso no fundo da sua mente. As configurações que serão usadas são aquelas que são locais onde o software está sendo executado. tmux está sendo executado localmente no Servidor S , portanto, ele usará as configurações locais para Servidor S . O mesmo vale para irssi .

A conexão ssh . Você está executando o cliente ssh , localmente no Cliente C , para se conectar ao Servidor S , portanto, as configurações ssh que estão sendo usadas são as locais para o Cliente C .

    
por 13.05.2013 / 04:58
2

Após o esclarecimento: aqueles dois "viajam" com o servidor; o cliente do qual você se conecta não terá impacto em nenhum dos dois.

    
por 13.05.2013 / 03:50
0

Depois de iniciar seu cliente de IRC dentro de um multiplexador de terminal, ambos os aplicativos leem suas respectivas configurações de armazenamento (que é provavelmente o disco no servidor). Quando os aplicativos estão em execução, a configuração permanece inalterada (a menos que você a altere explicitamente, é claro). Não importa de onde você vai se conectar à sessão, os atalhos serão os mesmos.

Por isso, geralmente: as configurações efetivas são aquelas do programa em execução .

Para evitar confusões, é uma boa idéia manter suas configurações sincronizadas, usando o sistema de arquivos de rede para o diretório home ou armazenando a configuração em um VCS (de preferência um distribuído um e sincronizado com freqüência.

    
por 13.05.2013 / 11:30

Tags