Se você executa um ou mais servidores remotos, normalmente gasta tempo fazendo login constantemente ao longo do dia.
Mas não precisa ser assim. É hora de você aprender como fazer login de forma eficiente via SSH com apenas um alias, transferir arquivos individuais ou diretórios, execute comandos SSH remotos e monte facilmente servidores remotos em locais diretórios.
Arquivo de configuração SSH
Uma grande economia de tempo é o arquivo de configuração SSH localizado em ~ / .ssh / config. Comece criando um diretório para armazenar todas as chaves SSH que você usa para fazer login nos servidores com o comando:
mkdir -m 0600 $ HOME / .ssh_keys
Agora copie todos os seus arquivos de chave SSH para este diretório (por exemplo, clienta.pem, clientb.pem, etc.). Em seguida, abra o ~ / .ssh / config arquivo em um editor de texto executando o comando:
nano ~ / .ssh / config
Abaixo está um exemplo de entrada que estabelecerá um Conexão SSH com um servidor remoto:
Precisa acessar seu computador ou servidor Linux remotamente? Veja como instalar e configurar o SSH no Linux, Windows e móvel.
cliente hospedeiro
hostname 124.58.2276.80
usuário ubuntu
IdentityFile ~ / .ssh_keys / clienta.pem
Adicione seções de linhas, como acima, ao ~ / .ssh / config arquivo, um para cada servidor desejado. Em seguida, salve e feche o arquivo pressionando Ctrl + X e siga o prompt. Depois de salvo, agora você pode fazer login em qualquer servidor via SSH a partir de qualquer diretório no terminal com o comando simples:
ssh clienta
Isso fará com que você instantaneamente se conecte ao servidor com as informações sob o clientela host que você especificou dentro do ~ / .ssh / config Arquivo.
Transferir arquivos com Scp / Rcp
Sem criar uma sessão de login persistente, você pode facilmente fazer upload de arquivos ou diretórios únicos para um servidor remoto com o scp comando, como:
scp report.pdf clienta: ~ /
O comando acima irá carregar o arquivo report.pdf do seu computador local para o diretório inicial do clientela servidor que você definiu na seção acima. Você pode fazer upload para um diretório diferente do diretório inicial, como:
scp about.html clienta: / home / clienta / public_html
O acima irá carregar o arquivo about.html para o /home/client/public_html diretório no remoto clientela servidor. Também é possível fazer upload de diretórios inteiros usando o -r opção como:
scp -r Documentos clienta: ~ / docs
Isso fará o upload de todo o ~ / Documentos diretório do seu computador local para o ~ / docs diretório do servidor remoto.
Baixando arquivos
Da mesma forma, você pode baixar arquivos ou diretórios para o seu computador local sem criar uma sessão de login persistente usando o rcp comando como:
rcp clienta: ~ / public_html / about.html myproject / about.html
O acima irá baixar o public_html / about.html arquivo do remoto clientela servidor e coloque-o no projects / about.html arquivo em seu computador local.
Executar comandos SSH remotos
Outra dica rápida é que você pode executar Comandos Linux em um servidor remoto sem uma sessão de login persistente, como:
ssh clienta ls
O acima irá executar o ls no servidor clienta remoto e liste todos os arquivos / diretórios sem mantê-lo conectado ao servidor. Por exemplo, se você quiser reiniciar um servidor, poderá usar:
ssh clienta / sbin / shutdown -rf now
Diretório local / bin
Vamos expandir isso, permitindo fácil montagem em servidores remotos, criando um diretório / bin / local para nossa conta de usuário. Abra o terminal em seu computador e crie um diretório / bin / executando o comando:
mkdir -m 0755 ~ / bin
Em seguida, abra o ~ / .profile arquivo em um editor de texto com o comando:
nano $ HOME / .profile
Role para baixo até o final do arquivo e adicione as seguintes linhas, copiando-as para sua área de transferência e, em seguida, dentro do terminal pressionando Ctrl + Shift + V:
if [-d "$ HOME / bin"]; então
PATH = "$ HOME / bin: $ PATH"
fi
Salve e feche o arquivo pressionando Ctrl + Xe siga o prompt. Isso salvará o .perfil, que verificará o diretório / bin / local recém-criado para quaisquer comandos que você tente executar.
Adicionando Comandos de Montagem Remota
Primeiro, verifique se ou não sshfs está instalado no seu computador com o comando:
sshfs --version
Se isso imprimir a versão atual do sshfs, então está tudo pronto. Caso contrário, se você receber um erro "comando não encontrado", você pode instalar sshfs com o seguinte comando:
sudo apt-get -y install sshfs
Agora crie um diretório / mnt / que conterá todos os diretórios montados em nossos servidores remotos. No terminal, execute os comandos como:
mkdir -m 0755 ~ / mnt
mkdir -m 0755 ~ / mnt / clienta
mkdir -m 0755 ~ / mnt / clientb
Continue criando um subdiretório para cada servidor remoto no qual você possa montar. A seguir, vamos criar os comandos shell que iremos executar e, por exemplo, para o clientela servidor abre um arquivo executando o seguinte comando no terminal:
nano ~ / bin / mount_clienta
Modifique a linha abaixo conforme necessário com as informações de servidor adequadas, em seguida, copie e cole no editor de texto em branco dentro do terminal pressionando Ctrl + Shift + V:
#! / bin / bash
sshfs -o IdentityFile = ~ / .ssh_keys / clienta.pem [email protected]: / var / www ~ / mnt / clienta
Salve e feche o arquivo pressionando Ctrl + Xe siga as instruções para fechar o arquivo. Por fim, altere as permissões do arquivo para que seja executável executando o comando:
chmod 0755 ~ / bin / mount_clienta
Agora, a qualquer momento, você precisa montar para clientela servidor remoto para transferir arquivos de / para ele, de qualquer diretório dentro do terminal, você pode simplesmente executar o comando:
mount_clienta
O diretório em seu computador local em ~ / mnt / clienta agora será montado no /var/www diretório do servidor remoto. Você pode começar a copiar arquivos de e para o diretório da mesma forma que faria com qualquer diretório local, e as operações necessárias ocorrerão no servidor remoto.
Gerenciamento de conexão mais eficiente
Esperançosamente, as dicas acima ajudaram a agilizar e tornar mais eficiente o gerenciamento de suas conexões com servidores remotos. Neste artigo, você aprendeu tudo sobre o ~ / .ssh / config permite que você faça login via SSH com apenas um alias, transfira arquivos / diretórios únicos, execute comandos SSH remotos e como montar facilmente um diretório local em servidores remotos.
Fazer backup com rsync é uma maneira poderosa de autogerenciar seus arquivos locais. Aqui está tudo o que você precisa saber.
- Linux
- Acesso remoto
- Linux
Assine a nossa newsletter
Junte-se ao nosso boletim informativo para dicas de tecnologia, análises, e-books grátis e ofertas exclusivas!
Mais um passo…!
Confirme o seu endereço de e-mail no e-mail que acabamos de enviar.