Mudar entre logins de usuário – Unix/Linux

Mudar entre logins de usuário – Unix/Linux

É possível que você precise logar como um usuário diferente para realizar configurações e testes.
Quanto isso acontece não é necessário sair da sua conta, basta apenas usar:

sudo -u usuario bash

onde usuario é o login do usuário que você quer mudar e bash é o nome do shell que você deseja usar para esta nova conexão.

Advertisements

Transferência de Arquivos: SSH, SCP, authorized_keys…

Transferência de Arquivos: SSH, SCP, authorized_keys…

Recentemente comecei a configuração de uma novo servidor e precisei usar o SCP.
Utilizo o Jenkins, antigo Hudson, para execução dos meus scripts.
Quando tentei fazer o SCP, que usa o SSH, não funcionou.
Então para que isso funcionasse é necessário a configuração do Sistema Operacional (SO) para funcionar sem ser necessário o uso de senhas, já que eu preciso usar via comando script.

Para que isso seja possível é necessário verificar:
1) O usuário do servidor de origem possui direito no diretório onde está o arquivo de origem;
2) O usuário que será usado para autenticar no servidor destino deve possuir direito no diretório do servidor destino;
3) Possuir o SCP e SSH instalados em ambos os servidores.

Com isto pronto, e normalmente, todos os servidores vem com isso funcionando, vamos começar a configuração.

Serão necessários os seguintes passos para a execução:

a) Acessar o servidor de origem via SSH;
b) Criar o par de chaves assimétricas (chave pública e privada);
c) Colocar a chave pública no servidor de destino;
d) Realizar a cópia do arquivo.

Isto posto, vamos aos seguintes passos:

a) Acessar o servidor de origem via SSH

Acesse o servidor de origem, por exemplo, usando o seguinte comando:

ssh expert@10.1.1.2

onde SSH é o comando para acessar o servidor através de um canal seguro, expert é o nome do usuário e 10.1.1.2 é o endereço do servidor onde está o arquivo que preciso passar ao outro servidor.

b) Criar o par de chaves assimétricas (chave pública e privada)

Vamos criar o par de chaves que irá capacitar aos servidores transitar arquivos entre eles, mas apenas em um sentido. Se for necessário o contrário, também será necessário configurar o outro servidor para isto.

No servidor de origem, vamos executar o comando:

ssh-keygen -t rsa

Irá ser pedido, uma palavra senha, mas como queremos que não seja necessário senha, pressione ENTER para todas as perguntas. Assim serão criadas as chaves públicas e privadas.

c) Colocar a chave pública no servidor de destino

Vamos agora copiar o arquivo de chave pública para o servidor de destino.
Logue o servidor de origem, por exemplo:

ssh expert@10.1.1.2

Vá até o home do usuário:

cd ~

entre no diretório .ssh

copie o arquivo id_rsa.pub para a sua máquina.

Agora vá até o servidor de destino, por exemplo:

ssh expert@10.1.1.3

Vá ao diretório home:

cd ~

entre no diretório .ssh

copie o arquivo id_rsa.pub para este diretório.

Renomeie o arquivo id_rsa.pub para authorized_keys* Este ponto é muito importante para o funcionamento.
Caso já exista este arquivo será necessário fazer o append neste arquivo.

d) Realizar a cópia do arquivo

Se tudo correu bem agora é só realizar a copia do arquivo usando um canal seguro sem o uso de senha.

Para tanto, logue no servidor de origem:

ssh expert@10.1.1.2

e execute o comando para a cópia do arquivo desejado, por exemplo:

scp log.txt expert@10.1.1.3:/proj1

onde SCP é o programa que realiza a cópia do arquivo usando SSH, log.txt é o arquivo que preciso cópia, expert é o nome do usuário que eu configurei o home no servidor de destino, 10.1.1.3 é o servidor de destino e proj1 é o diretório que eu quero o arquivo fique armazenado.

Tomara que com você tenha dado certo na primeira tentativa 😀

Pronto, agora você tem os servidores configurados para a transferência segura entre os dois servidores sem a necessidade colocar senha em nenhum lugar.

Isto é bastante útil para a automatização de tarefas. Você poderá criar tarefas agendadas de cópia entre os dois servidores sem a necessidade de escrever a senha nos arquivos de scripts o que poderia causar problemas na segurança do seu serviço.

Aquele abraço.