Tuesday, 19 December 2017

Trojaned ssh daemon component hwclock binário opções


Muitos usuários implementaram Secure Shell (ssh) para fornecer acesso protegido a um sistema Linux remoto, mas não percebem que, ao permitir a autenticação de senha, eles ainda estão abertos a ataques de força bruta em qualquer lugar na internet. Existem worms correndo desenfreado na internet que fazem um trabalho eficaz encontrar combinações usernamepassword fraca, e estes não são interrompidos pelo uso de Secure Shell. Esta Dica Técnica detalha como usar o cliente PuTTY SSH livre para se conectar a um sistema Linux executando o servidor OpenSSH, tudo ao usar a criptografia de chave pública eo suporte do agente SSH. Muitas dessas informações se aplicam a qualquer instalação do OpenSSH em qualquer sistema UNIX - Solaris, BSD, OpenServer -, mas fomos direcionados para a plataforma Linux quando especificações são solicitadas. Instalação e configlogin simples Proporcionar acesso sem senha, baseado em agente, requer um monte de etapas, portanto, bem abordagem isso em etapas, primeiro fornecendo acesso regular senha para o sistema. Isso permite testar a instalação inicial e a capacidade de fazer login antes de ativar os recursos mais avançados. Baixe e instale os programas Ao contrário da maioria dos programas do Windows, o pacote PuTTY não requer um instalador: os arquivos. EXE individuais são simplesmente descartados em um diretório onde eles são executados diretamente. Nós admiramos a economia e o estilo que o autor de PuTTYs demonstra. Os arquivos podem ser descartados em qualquer diretório que esteja no caminho de comando de usuários, e normalmente usamos C: BIN (veja o próximo item para como configurar isso). Cinco arquivos devem ser baixados do site PuTTY. PuTTY. exe mdash cliente Shell seguro PuTTYgen. exe mdash SSH gerador de chaves publicprivate Pagent. exe mdash SSH chave agente PSCP. exe mdash Cópia segura a partir da linha de comando PSFTP. exe mdash Cópia segura com FTP-como a interface Verifique se o diretório de instalação está no comando Embora seja possível executar o PuTTY com um caminho ou atalho completo, na prática é útil quando estiver totalmente disponível no prompt do CMD para acessar ou copiar arquivos de qualquer lugar no sistema de arquivos. Clique com o botão direito do mouse em Meu computador na área de trabalho e selecione Propriedades. Clique na guia Avançado na parte superior e, em seguida, clique no botão Variáveis ​​de ambiente. Isso abre a caixa de diálogo exibida à direita. Há sempre variável PATH na seção Variáveis ​​do Sistema e, às vezes, também na seção Variáveis ​​do Usuário. Somente os administradores têm acesso às Variáveis ​​do Sistema, portanto Edite ou Adicione o PATH conforme necessário. Normalmente, colocar o novo diretório no início do caminho, e seu separado do resto da lista com um ponto e vírgula. Clique em OK para salvar todas as alterações. Criar um atalho na área de trabalho O PuTTY é frequentemente usado pesadamente por um trabalhador de TI, por isso é útil ter um atalho na área de trabalho para facilitar o acesso. Para adicionar isso, clique com o botão direito do mouse na área de trabalho e clique em Novo atalho. Navegue para ou digite o nome do caminho do executável PuTTY. No nosso exemplo, foi C: binputty. exe. Clique em OK e atribua ao atalho um nome conveniente. Inicie o PuTTY e configure para o sistema de destino Inicie o PuTTY através do atalho e exibirá a caixa de diálogo de configuração: há muitas opções aqui. Bem, preencha vários para fornecer acesso com senha para o sistema, em seguida, configure para acesso à chave pública mais tarde. Categoria: Nome do Host: dbserver Protocolo: () Conexão SSH. Dados Auto-login nome de usuário: steve Conexão. SSH Protocolo SSH Preferencial Versão: () 2 Somente Uma vez que essas configurações simples tenham sido inseridas, elas podem ser salvas para facilitar o acesso na próxima vez. Clique em Sessão à esquerda e digite um nome em Sessões salvas - esse nome geralmente estará relacionado à máquina com a qual você está se conectando. Clique em Salvar para armazenar essas configurações no Registro: weve escolheu o nome Servidor de banco de dados. Login Com as configurações salvas da etapa anterior, sinta como usá-las para se conectar ao sistema de destino. Inicie o PuTTY (se não estiver aberto) e, na seção Session, clique no nome da sessão salva e clique em Load. Clique em Abrir para iniciar a conexão. Quando solicitado, digite a senha para sua conta no sistema remoto e, se estiver correta, você receberá um shell. Agora você pode começar a trabalhar no sistema. No entanto - cada vez que PuTTY se conecta com um servidor, troca a identificação sob a forma de chaves de host. Se a chave do host for desconhecida, ou não corresponder ao que vimos anteriormente, ele avisa o usuário. Para hosts desconhecidos, esta é principalmente uma operação pro forma, mas para sistemas previamente conhecidos pode sugerir que o host não é o mesmo que originalmente conectado. As chaves do host que foram alteradas sem aviso podem ocorrer quando o sistema operacional de destino é reinstalado sem restaurar as chaves de host do backup ou pode ser algo mais nefasto, como um host invasor mascarado como o genuíno. Um deve sempre investigar inesperadamente-alterado chaves de host Criando e usando várias sessões Quando o usuário só precisa se conectar com um sistema, é possível programar nesses parâmetros para a sessão padrão, mas é muito mais comum para acessar vários sistemas. Com um pouco de configuração, podemos facilmente criar e conectar a esses sistemas com um clique. Criar e salvar as sessões Como fizemos na seção anterior, crie e salve quantas sessões nomeadas sejam necessárias e faça uma anotação dos nomes das sessões. Esses nomes podem ser referenciados na linha de comando com o parâmetro - load e podem ser incorporados no atalho. Clique com o botão direito do mouse no atalho e selecione Propriedades e, em seguida, digite o parâmetro carregamento juntamente com o nome da sessão (entre aspas, se necessário). Clique em OK para salvar as propriedades de atalho. Também é uma boa idéia para renomear o atalho para refletir o nome do servidor a sua conexão: clique com o botão direito do mouse no atalho e selecione Renomear. Quando o atalho da sessão estiver totalmente configurado, clicar duas vezes no ícone inicia a conexão. Crie tantos atalhos pré-programados quanto necessário. Criar e instalar um par de chaves publicprivate O verdadeiro poder do Secure Shell entra em jogo quando as chaves publicprivate são usadas. Diferentemente da autenticação de senha, o acesso à chave pública é feito executando uma criação única de um par de números binários muito longos que são matematicamente relacionados. O passo de configuração inicial é moderadamente envolvido, mas precisa ser feito apenas uma vez: uma vez criado, a chave pode ser facilmente instalado em tantos sistemas remotos como desejado. Run PuTTYgen Um par de publicprivate chaves mdash arquivos pequenos contendo números binários muito grandes mdash é necessário, e PuTTYgen faz isso. É executado apenas uma vez para criar um par pessoal de chaves, que são instaladas onde quer que seja necessário. Clique em Iniciar. então corra . Em seguida, digite puttygen na caixa de linha de comando. Isso exibe a caixa de diálogo principal, mostrada à direita. Selecione os parâmetros chave como mostrado e clique em Gerar. Como o tamanho de chave DSA é fixado em 1024 bits, eo tamanho de chave RSA pode ser feito muito maior, recomendamos uma chave RSA de 2048 bits. Note que o padrão é 1024 bits, você tem que substituir manualmente para selecionar 2048. Nota: Não crie uma chave SSH versão 1 de qualquer tipo: eles não são seguros. Você será solicitado a criar alguma aleatoriedade movendo o mouse ao redor: isso dá ao sistema alguma entropia adicional que ajuda a criar melhores chaves. Isso leva apenas alguns segundos para gerar totalmente o par de chaves. Proteger e salvar as chaves Agora o par de chaves foi gerado, mas só existe na memória PuTTYgens: ele tem que ser salvo no disco para ser de qualquer uso. Embora a chave pública não contenha informações confidenciais e será instalada em sistemas remotos, a chave privada deve ser protegida vigorosamente: qualquer pessoa que conheça a chave privada tem a execução completa de todos os sistemas remotos. A chave privada normalmente é protegida com uma frase-senha e esta frase é inserida duas vezes nos campos indicados. O comentário é opcional, mas normalmente é o endereço de e-mail do proprietário da chave. Também poderia ser apenas o nome dos proprietários. Não se esqueça da senha que o par de chaves é inútil sem ele. A chave gerada agora deve ser salva, e isso é feito em três partes: Salvar a Chave Pública e Salvar a Chave Privada tanto o prompt para um nome de arquivo ea chave privada (com extensão. ppk) devem ser salvos em um lugar seguro. A chave pública está em um formato padrão e pode ser usada direta ou indiretamente por outro software, e tem a seguinte aparência: A chave privada está em um formato específico do PuTTY que não pode ser usado por qualquer outro software. Ele nunca será olhado diretamente pelo operador. Instale a chave pública no sistema Linux Com o puttygen ainda aberto, destaque toda a Chave Pública para colar na área de arquivos do OpenSH autorizado e digite control-C para copiar para a área de transferência do sistema local. Esses são basicamente os mesmos dados encontrados no arquivo de chave pública salva, mas em uma forma que pode ser usada diretamente no sistema Linux. Faça login no computador Linux usando a senha de contas, crie o diretório. ssh se necessário e edite o arquivo. sshauthorizedkeys. Este será um arquivo de texto, e a área de transferência deve ser colada nele. A chave pública será apenas uma linha longa, e é realmente fácil colar os dados de uma forma que trunca os primeiros caracteres. Isso torna a chave inoperável, portanto, certifique-se que a chave começa ssh-rsa ou ssh-dsa. Salve o arquivo. Verifique se o diretório. ssh e os arquivos dentro dele são legíveis apenas pelo usuário atual (isso é uma precaução de segurança), e isso pode ser conseguido usando o comando chmod com parâmetros aplicados a todo o diretório: Saia do sistema. Nota - o arquivo authorizedkeys deve ser propriedade do usuário e unreadableunwritable por qualquer outra pessoa - o servidor OpenSSH irá negar logins se este não for o caso. Pode-se verificar isso com o comando ls: O arquivo deve ser o modo - rw -------. Anexar a chave privada à sessão SSH Agora que o par de chaves publicprivate foi criado, ele pode ser associado a uma sessão SSH. Primeiro, faça bem isso em PuTTY, iniciando o programa e carregando a sessão de interesse. Navegue para Conexão. SSH. Auth no painel Categoria à esquerda e, em seguida, preencha o arquivo de chave particular para o campo de autenticação, navegando para o arquivo. ppk salvo anteriormente. Nota - Com outros clientes Secure Shell, vimos a capacidade de anexar uma chave privada para todas as sessões (como parte de uma configuração global), mas com PuTTY parece exigir configuração para cada sessão. Não tenho certeza por quê. Retorne ao nível da categoria Sessão e salve a sessão atual. Neste ponto, PuTTY (no Windows) e OpenSSH (no Linux) são ambos configurados para acesso seguro, de chave pública. Conectar através da chave pública Agora que as etapas de configuração foram concluídas, estavam prontos para efetuar login usando o mecanismo de chave pública, evitando completamente a etapa de senha. Conecte-se com segurança Inicie o PuTTY com opções para carregar a sessão salva com a chave privada: Ao invés de solicitar a senha de contas (que diferirá em cada sistema remoto), ela pede a frase secreta que está protegendo a chave privada local. Quando a chave privada se encaixa na chave pública no servidor OpenSSH, acesso concedido e um shell apresentado ao usuário. É importante observar que, embora o usuário tenha que digitar uma palavra secreta ao efetuar login, a senha é associada à chave privada local. Não a conta remota. Mesmo se a chave pública de usuários estiver instalada em 1000 diferentes servidores remotos, a mesma senha de chave privada é exigida para todos eles. Isso simplifica muito a tarefa de lembrar as credenciais de acesso e encoraja a escolha de pessoas fortes e seguras. Desabilitando a Autenticação de Senha no OpenSSH Uma vez que os usuários público e privado par de chaves são verificados como corretos, é possível desabilitar a autenticação de senha no servidor Linux inteiramente. Isso inteiramente evita todas as tentativas de adivinhação de senhas e protege dramaticamente uma máquina. No entanto, para máquinas não fisicamente locais, é aconselhável adiar a desabilitação da autenticação de senha até que seja absolutamente claro que o acesso com chave está funcionando corretamente, especialmente se vários usuários estão envolvidos. Uma vez que a autenticação de senha foi desativada, mesmo a senha de root não permitirá que um no sistema. Os novos acessos à chave pública são incentivados a testar com muito cuidado. A configuração do SSH Daemon é encontrada no arquivo sshdconfig, muitas vezes armazenado no diretório etcssh. Este é um arquivo de texto que é relativamente fácil de ler bem estar à procura de duas entradas para modificar. Primeiro é definir PasswordAuthentication para o valor não. Isso pode ser explicitamente definido como Sim. Ou pode ser comentado para confiar no padrão, mas nós desejamos explicitamente desativar este: Em segundo lugar, queremos desativar SSH protocolo versão 1: este é antigo, tem vários pontos fracos de segurança substanciais, e não deve ser permitido a partir do mundo exterior . Edite o arquivo de configuração e assegure-se de que as duas entradas de palavra-chave estejam definidas corretamente comentando as entradas antigas, se necessário. Uma vez que o arquivo de configuração tenha sido salvo, o daemon Secure Shell deve ser reiniciado na maioria das plataformas, isso pode ser feito com o mecanismo de serviço: Isso mata o daemon de escuta e o reinicia, mas não encerra nenhuma sessão de usuário individual existente. Aqueles que sentem que este pode ser um passo arriscado são convidados a simplesmente reiniciar a máquina. Neste momento, o OpenSSH deixará de aceitar senhas de qualquer tipo, com acesso concedido somente para usuários com chaves públicas pré-estabelecidas. Habilitando o Suporte do Agente SSH Até este ponto, nós fornecemos uma grande maneira de segurança de acesso ao sistema, mas ainda não é muito conveniente: ainda precisamos digitar uma (espero) frase-passe complexa de cada vez. Isso pode ficar tedioso quando um grande número de sistemas estão envolvidos. Felizmente, a suíte SSH fornece um mecanismo maravilhoso para desbloquear a chave privada uma vez, e permitindo que as conexões ssh individuais para piggyback nele sem consultar para a senha de cada vez. Inicie o agente Navegue para o programa pageant. exe e inicie-o a partir do mesmo local que os outros arquivos relacionados ao PuTTY, e ele se colocará na bandeja do sistema (no canto inferior direito próximo ao relógio). Clique duas vezes no ícone na bandeja e ele inicia uma caixa de diálogo com uma lista vazia de chaves. Clique em Adicionar chave e navegue até o arquivo. ppk que contém sua chave particular. Quando for solicitada a senha, insira-a e clique em OK. Clique em Fechar para descartar o agente. Agora, inicie uma das sessões SSH já configuradas para um host remoto protegido por pubkey: ele consultará o agente para a chave privada, trocará com o controle remoto e concederá acesso sem mais intervenção do usuário. Nota - o leitor pensativo pode se perguntar como o agente armazena os dados e se os programas não confiáveis ​​são capazes de obter essa chave secreta sub-repticiamente. Não sabíamos como funciona, mas não ouvimos falar de verdadeiras preocupações de segurança nesta frente. Bem, atualize este documento se aprendermos alguma coisa. Pré-carregar a chave privada A primeira coisa que muitos usuários do PuTTY fazem ao fazer logon no sistema para o dia é iniciar o agente e adicionar a chave privada. Este é apenas alguns passos, mas podemos otimizar um pouco mais. Se lançarmos o agente com o arquivo de chave privada como um parâmetro, ele carregará a chave automaticamente. Navegue até pageant. exe e clique com o botão direito do mouse para copiar este ícone. Cole isso como um atalho na área de trabalho, clique com o botão direito do mouse e selecione Propriedades. Digite o caminho completo do arquivo de chave privada. ppk como o parâmetro e, em seguida, salve as alterações. Clicar duas vezes neste ícone carregará o arquivo de chaves, exigindo a senha. Uma vez entrado, thats a última vez que é necessário, enquanto o agente fura ao redor. Há muito pouco para não gostar sobre suporte de agente de SSH. Agente de encaminhamento Mas weve não esgotou os benefícios do suporte SSH agente. É uma vitória clara para evitar a digitação da senha a cada vez que uma nova conexão é iniciada, mas o SSH também fornece o Encaminhamento de Agente, que pode passar a credencial pela conexão com o servidor remoto. Essa credencial pode ser passada para outro servidor onde a chave pública dos usuários foi instalada, obviando senhas ou a senha secreta durante toda a duração de uma navegação na rede. O usuário inicia uma conexão com o Servidor A: O PuTTY no computador local pega a chave privada do agente e a fornece ao servidor remoto. O servidor remoto processa os dados de chave pública e privada e concede acesso. O usuário recebe um shell no sistema local. O usuário tenta se conectar ao SystemB com ssh - A systemb (-A habilita o encaminhamento de agentes) e se conecta ao servidor SSH. O sistema B pede ao sistema A para os dados da chave privada do usuário eo servidor SSH no sistema A, por sua vez, encaminha-o de volta para a estação de trabalho original onde o agente é consultado. O agente local passa os dados de volta a conexão, onde é encaminhado de SystemA para SystemB. SystemB recebe essa credencial e acesso é concedido comparando a chave pública armazenada na máquina para esse usuário. Isso acontece automaticamente e rapidamente: não leva mais do que um segundo ou dois para toda a troca ocorrer, e esse encaminhamento pode passar por uma longa cadeia de conexões SSH. Isso fornece acesso transparente e seguro a uma ampla gama de sistemas remotos. Nota - Tudo isso requer que o usuário tenha uma conta em cada máquina em questão e que a chave pública de usuários esteja instalada corretamente em cada um. SSH encaminhamento doesnt fornecer qualquer acesso que não seria concedido ausente encaminhamento apenas adiciona um mecanismo mais conveniente para o que já é fornecido. Habilitar o encaminhamento no PuTTY Ativar o encaminhamento do agente é feito nas caixas de diálogo de configuração do PuTTY, como todo o resto, e apenas uma caixa adicional precisa ser verificada. Esta opção requer, naturalmente, o uso do concurso no sistema local - sem um agente, não há nada para encaminhar. Se uma conexão protegida por chave for tentada sem nenhum agente presente, o PuTTY simplesmente solicitará a frase secreta como tem feito todo o tempo (e fará isso em cada conexão). Ativar encaminhamento no servidor No exemplo acima, vimos que o usuário digitou ssh - A host. Mas é comum fazer Use forwarding do agente a configuração padrão para remover a necessidade de digitar - A. A configuração do servidor OpenSSH é encontrada no sshdconfig. Enquanto a configuração do cliente está em sshconfig (normalmente no diretório etcssh). O arquivo pode ser editado e a configuração do ForwardAgent definida como yes: Esta configuração não afeta o servidor, portanto, não requer nenhuma reinicialização ou operação especial para que ela entre em vigor: a próxima conexão de saída habilitará o encaminhamento automaticamente. Essa alteração precisa ser feita apenas uma vez (e é o padrão em alguns sistemas). Copiando arquivos com segurança Com a configuração do PuTTY, o acesso à chave pública eo suporte ao agente (com encaminhamento), foram preparados para ultrapassar o acesso ao shell do terminal e mover arquivos ao redor. O Secure Shell fornece vários métodos para copiar arquivos de uma máquina para outra, todos trabalhando em conjunto com as mesmas chaves e agentes. O PSCP permite a cópia de linha de comando de arquivos para e de um servidor SSH remoto e o PSFTP fornece uma interface semelhante a FTP para transferência de arquivos conveniente. Bem discutir ambos. PSFTP - um cliente tipo FTP O programa PSFTP pode ser iniciado a partir da linha de comando ou de um atalho da área de trabalho e, em ambos os casos, aceita um nome de host ou um nome de sessão salvo. Quando é lançado, ele se conecta ao servidor de destino (aproveitando totalmente as chaves públicas eo agente local, se houver) e apresenta um prompt de psftpgt: Usuários regulares de clientes FTP de linha de comando acharão isso familiar, embora certamente não até A facilidade de uso como populares clientes GUI. O comando de ajuda pode fornecer algumas orientações. PSCP - Secure Copy Usuários na linha de comando podem desejar copiar arquivos diretamente, e isso é feito com pscp. O comando Cópia segura. Assim como copiar arquivos regulares no sistema de arquivos local, o pscp leva um nome de máquina e um diretório como fonte ou destino. Pscp pode transferir um arquivo de cada vez, ou um conjunto inteiro em uma única instância: Curiosamente, o nome de sessão salvo não precisa ser fornecido apenas o nome de host eo nome de usuário atual (que normalmente é tomada automaticamente a partir do ambiente. Pscp tanto consultar a lista de sessões salvas, encontrar uma correspondência apropriada e, em seguida, usar as informações de acesso associado. Isto faz para uma experiência de transferência de arquivo suave. Preguntas de segurança e os pontos mais finos Esta dica Tech tem a intenção de fornecer um caminho rápido para a configuração Até um ambiente Secure Shell da estação de trabalho para o servidor, mas tem ignorado muitos dos pontos mais finos. O ponto de usar o Secure Shell é a segurança, e wed ser negligente se não tocamos em alguns desses pontos aqui. Bem fazer o mais amplo Ponto que se deve ter cuidado ao trabalhar em um sistema não confiável: ao usar recursos avançados, como o encaminhamento de agentes ou chaves privadas, está à mercê de um operador hostil. Os keyloggers baseados no kernel e o Trojaned binssh bi Naries são apenas alguns dos muitos riscos óbvios quando operam nesse tipo de ambiente. Aqui bem toque em alguns dos pontos não óbvios e note que em um ambiente confiável e controlado, estas questões simplesmente não surgem. Proteja sua chave privada Embora a chave pública seja de pouca preocupação, a chave privada deve ser protegida vigorosamente. Qualquer pessoa que pode obter a chave privada descriptografada (aprendendo a frase secreta ou forçando-a bruta) tem execução completa de todas as redes onde a chave pública está instalada. É altamente recomendável limitar drasticamente o número de locais onde a chave privada é mantida. Presumimos que existam aplicações que podem ter um ficheiro de chave privada e tentar forçar a chave com força bruta, embora ainda não tenhamos executado uma delas. O uso do agente requer máquinas confiáveis ​​Sempre que um agente de chave SSH está presente, seja na máquina local que inicia a conexão de saída, ou em máquinas intermediárias que estão encaminhando-os, é tecnicamente possível para intrusos nessas máquinas obter acesso ao canal seguro . No OpenSSH, um cliente ssh se comunica com o agente através de um soquete de domínio UNIX sob o diretório tmp (um arquivo representativo é tmpssh-DeB10132agent.10132) e está restrito ao usuário local. Mas os superusuários também têm acesso ao soquete, e seu relativamente direto para seqüestrar o agente para se conectar à mesma máquina de destino. Recursos relacionadosEste artigo faz parte da série BackupYourSystem. Mais informações introdutórias podem ser encontradas lá. Introdução Na página man: o Rsync é uma ferramenta de cópia de arquivos rápida e extraordinariamente versátil. Ele pode copiar localmente, tofrom outro host sobre qualquer shell remoto, ou tofrom um daemon rsync remoto. Ele oferece um grande número de opções que controlam todos os aspectos do seu comportamento e permitem uma especificação muito flexível do conjunto de arquivos a serem copiados. É famoso por seu algoritmo de transferência de delta, o que reduz a quantidade de dados enviados através da rede, enviando apenas as diferenças entre os arquivos de origem e os arquivos existentes no destino. Rsync é amplamente utilizado para backups e espelhamento e como um comando de cópia melhorada para uso diário. Em outras palavras, o rsync é uma ferramenta para copiar e fazer backup de dados de um local (a fonte) para outro (o destino). É eficiente porque transfere arquivos que são diferentes entre os diretórios de origem e de destino. Rsync é um utilitário de linha de comando. Os usuários que tentam usá-lo devem estar familiarizados com a linha de comando (consulte Usando o Terminal). Se você preferir uma interface gráfica, consulte a seção Grsync desta página. Instalação O Rsync é instalado no Ubuntu por padrão. Certifique-se de verificar se os seguintes pacotes estão instalados antes de iniciar (consulte Instalando um Pacote): rsync, xinetd, ssh. Executar um backup simples O método mais simples para fazer backup em uma rede é usar rsync via SSH (usando a opção - e ssh). Alternativamente, você pode usar o daemon rsync (veja Rsync Daemon que requer muito mais configuração. O backup local requer apenas rsync e readwrite acesso às pastas sendo sincronizadas. Abaixo você encontrará exemplos de comandos que podem ser usados ​​para backup em qualquer caso. Deve-se notar que uma sincronização de rede pode ser executada localmente, desde que a pasta seja compartilhada (digamos, por Samba) e então montada na máquina com a pasta 1. Este processo fica em torno de ter que usar ssh, mas é menos seguro e só deve ser usado Em redes privadas seguras, como em sua casa Backup Over Network Uma explicação das opções acima para comandos: --dry-run Isso informa rsync para não realmente fazer nada. Ele vai apenas escrever um log do que ele faria para a tela. Uma vez que você tenha certeza de que tudo irá funcionar como esperado, você deve remover essa opção e executar o comando novamente para executar o backup real --delete exclui os arquivos que não existem no sistema que está sendo feito backup. A data e t Imes e permissões dos arquivos (o mesmo que - rlptgoD). Com esta opção o rsync irá: Descender recursivamente em todos os diretórios (-r), copiar links simbólicos como symlinks (-l), preservar permissões de arquivos (-p), preservar tempos de modificação (-t), preservar propriedade de arquivo (-o) e - z comprime os dados - vv aumenta a verbosidade do processo de relatório - e especifica o shell remoto para usar folder1 e folder2 Nos exemplos acima, folder1 e 2 são espaços reservados para os diretórios a serem sincronizados. Folder1 é a pasta original, e 2 é a nova pasta, ou a existente para ser trazida em sincronia com a primeira. Substitua-os pelas pastas que você gosta. A foi adicionado após pasta1 para que apenas o conteúdo, em vez de pasta inteira, seria movido para o segundo. Uma sinopse completa de todas as opções com o comando rsync pode ser encontrada nas páginas man no Resumo de Opções. A página man para rsync também pode ser encontrada no linux. die Grsync é um frontend GUI para o utilitário rsync. A interface simples da GUI expõe muitas das opções básicas disponíveis com rsync. É útil para aqueles que preferem não usar a linha de comando. Instalação O programa grsync não vem instalado por padrão no Ubuntu ou qualquer outra distrubtion, mas é facilmente disponível a partir dos Repositórios principais. Para obter grsync, certifique-se de que a seção Universo dos repositórios do Ubuntu esteja habilitada em suas Fontes de Software. Em seguida, para instalar este software no Ubuntu, instale o seguinte pacote. Grsync. Configuração Para iniciar grsync, vá até os seguintes menus: Aplicativos --gt Ferramentas do sistema --gt grsync. Ao iniciar você será apresentado com a janela principal, onde toda a configuração ocorre. Nesta janela estão todas as opções que a maioria dos usuários jamais precisará. Para explicar, as opções serão listadas e seus efeitos mencionados. Sessões - Esta função é a mesma de outros perfis. Cada sessão armazenará um conjunto diferente de diretórios de origem e de destino, bem como as opções de configuração associadas ao par de pastas. Isso permite a sincronização de diferentes conjuntos de pastas de acordo com diferentes opções. O gerenciamento de sessões é simples, basta pressionar o botão Adicionar para adicionar um novo. Para excluir, selecione a sessão que você não deseja mais da lista suspensa e pressione Excluir. Origem e Destino - Essas duas caixas listam as duas pastas (tecnicamente referidas como diretórios) que serão sincronizadas. O topo é a fonte eo fundo o destino. Assim, quando você executar a sincronização, os arquivos de origem serão copiados para o destino de acordo com as opções de um usuário seleciona. Para especificar os diretórios, procure-os na GUI ou digite-os de acordo com as convenções de caminho padrão. Switch - O sinal de recarregamento universal localizado à direita dos botões Procurar é um botão acessível. Ele irá mudar instantaneamente a Origem com o Destino. Importar e exportar - Depois de ter configurado sessões, um usuário pode querer backup-los para armazenamento. Para isso, vá para o Menu de Sessões na parte superior e selecione Importar ou Exportar. O primeiro irá restaurar uma sessão de um backup feito anteriormente, o último fará um backup da sessão atual. Nota: Esta função de backup funciona em uma sessão por sessão. Isso significa que cada sessão que você deseja fazer backup deve ser selecionada na lista suspensa e, em seguida, fazer backup. Se você tiver 3 sessões diferentes, selecione cada uma por sua vez e Exportá-los. Igual ao importar sessões. Opções Básicas - A maioria dos usuários encontrará a maioria das opções que eles precisarão aqui. Os quatro primeiros preservarão as propriedades dos arquivos transferidos. Os outros modificarão a forma como os arquivos são copiados. Para obter mais informações sobre o que cada um faz especificamente, passe o cursor estacionário sobre a opção e exibirá uma pequena explicação. As opções verificadas são, naturalmente, as que serão aplicadas durante a sessão. Opções Avançadas - Esta guia contém mais opções, muitas são úteis e auto-explicativas. Para aqueles que não forem compreendidos, as dicas serão exibidas quando o mouse permanecer sobre uma opção por tempo suficiente. Opções Adicionais - Esta caixa de entrada permite a entrada de opções adicionais não apresentadas na GUI mas conhecidas pelo usuário. A utilização é sugerida apenas para utilizadores experientes, a introdução de opções malformadas pode ter consequências inesperadas. Simulação e Execução Os dois últimos botões na janela são Simulação e Execução. O botão para a simulação é muito útil quando incerto o que vai acontecer com base nas opções selecionadas. A tela de diálogo de transferência normal aparecerá e no painel principal, uma lista de arquivos que teriam sido copiados é listada. O usuário pode então verificar se isso é como desejado ou fazer alterações. Depois que a sessão é iniciada com o botão Executar, a caixa de diálogo será exibida novamente, mas desta vez ele realmente processará as pastas em conformidade. Certifique-se de que está satisfeito com a simulação. Backup remoto Backup em uma rede é possível, de preferência o usuário deve montar o compartilhamento de rede para ser feito backup antes de iniciar o programa. O compartilhamento, em seguida, seria listado na GUI Navegar e poderia facilmente ser adicionado. Não há uma seção separada para a rede, se mais recursos avançados são necessários o usuário é incentivado a olhar para alternativas, das quais existem muitos. Alternativas Existem muitas alternativas, em vários estágios de desenvolvimento. Para uma lista incompleta, veja aqui. Rsync Daemon O daemon rsync é uma alternativa ao SSH para backups remotos. Embora mais difícil de configurar, ele fornece alguns benefícios. Por exemplo, usar o SSH para fazer um backup remoto de um sistema inteiro requer que o daemon SSH permita o login root, o que é considerado um risco de segurança. O uso do daemon rsync permite que o login root via SSH seja desativado. Configuração do rsync Daemon 1. Edite o arquivo etcdefaultrsync para iniciar rsync como daemon usando xinetd. A entrada listada abaixo, deve ser alterada de false para inetd. 2. Instale o xinetd porque não está instalado por padrão. 3. Crie o arquivo etcxinetd. drsync para iniciar rsync via xinetd. Ele deve conter as seguintes linhas de texto. 4. Crie a configuração do arquivo etcrsyncd. conf para rsync no modo daemon. O arquivo deve conter o seguinte. No arquivo, o usuário deve ser substituído pelo nome do usuário na máquina remota que está sendo registrado. 5. Crie etcrsyncd. secrets para a senha dos usuários. User should be the same as above, with password the one used to log into the remote machine as the indicated user. 6. This step sets the file permissions for rsyncd. secrets. 7. StartRestart xinetd Run the following command to check if everything is ok. The output listed is just a sample, should be what is on your shared remote machine. Hostname can be replaced by the IP address of the machine. Backup With Rsync and Ssh (scroll to bottom if you want a much less informative synopsis of what will be covered) When I first began tinkering with this idea, the whole SSH thing kind of confused me, mostly because I didnt think SSH would be easy for an end user to utilize. While SSH is very complex in design, theyve made it super easy for the end user to set up an authentication key set. Essentially, SSH is a 1 to 1 authenticated connection that can be obtained without a password. Once this is in place, you can utilize rsync to run automatically. Before we begin, please ensure you have openssh-server installed on your file server in question. Next, we need to set up a key pair. You will receive a public key and private key. You will be asked some questions, such as whether or not you want a password to the key pair, etc. I chose no and basically left everything else default. I went with no password because SSH keys are pretty -- secure, and plus I wanted this to be automated. I was not sure how I could automate this process while still having a password on it. The public key needs to get copied to the authorizedkeys file on the server. Thanks to a handy command, this is painless. Replace jason192.168.1.150 with what your setup would be. Itll ask you for your password. Put in your password to the user account youre authenticating against on the file server. Once done, you should be able to run: If it did not ask for a password and your prompt changed, youre good to go. If it asked you for a password, something is likely off. Please note, if you mess around with the SSH keys (by deleting them, adding new ones, etc.) itll require a reboot (some people have told me log out log in works fine too) to reset. I dont know enough about that to explain whats happening besides taking the educated guess that the SSH key is getting locked to your session. Unless you plan to tinker around like I did, where I would delete the SSH keys and re-generate them over and over for learning purposes, you wont run into this issue. But if you do, I wanted to throw this out there. So, SSH is set up and youre good to go. Now what Its rsyncs turn. You have opened the door with SSH, now you need to put it in gear with rsync. Rsync is a remote synchronization tool. For my uses, its pretty much awesome. I suggest you folks read the rsync man page for more information. Just a side note, anybody reading this who uses Linux, please keep man pages in mind. Theyre quicker than Google. Honestamente. You can read them up by going to terminal and typing man rsync. Of course, you can substitute rsync for any other command to read more about it as well, aka man cp etc. The man page will go over the functionality of a bunch of flags. Theres a few I personally use and Ill cover them in my own words below. - a Archive mode. This keeps the time, permissions, owner, group, and other various settings the same as the source. I like using - a because it ensures that my data on the file server match my data on the desktop, even down to who owns what and the time stamps. - z Compression mode. I havent really used this until recently. Im not sure if I notice a difference because rsync is pretty fast to begin with, but I tack it in there, mostly because, why not --exclude Exclude mode. This is if you want to exclude a specific directory, trash, videos, etc. For example, lets say you want to exclude ALL hidden filesfolder. you would do --exclude. Notice after the equals sign there is a period and That ensures youre doing the wild card, meaning EVERYTHING, but only after the period. Since hidden filesfolders are began with a period, you can see how it would include. folder1.folder2.folder3, etc. Note - Personally, I would definitely recommend excluding. gvfs. gvfs is the gnome virtual file system. It essentially acts as a mount point for network resources. Lets say your file server is accessible through. gvfs. If you rsync everything and dont exclude. gvfs, youre in essence duplicating the data on your file server that already exists, because itll exist in its primary folder, as well as through. gvfs thanks to your file server. homejasonDocuments homejasonMusic homejasonPictures homejason. gvfsDocuments homejason. gvfsMusic homejason. gvfsPictures By excluding. gvfs, you avoid this all together. If youre backing up a home directory, Id suggest doing it. Using simply --exclude. gvfs works for me, but if you need the full path, it would of course be --excludehomejason. gvfs --delete This will delete files on the destination that dont exist on the source. Lets say you have a folder that contains 100 GB of data and its simply named data. If you rename it to data2, your server would contain a copy of data and data2 a grand total of 200 GB. If you want the data on your server to be identical, use --delete. If you want to have some sort of older file redundancy (I know some people prefer this), dont use --delete. --progress If you run rsync manually, youll be able to see the progress of whats going on instead of just a flashing cursor. I only use this flag if I want to run the command manually and see what its doing. I dont bother using this when its showtime and I want it automated in the background. Other than that, its just about setting up the source and destination. Lets start with the destination, since after all, were tinkering with SSH here so its a tad bit different. For the destination, youll need the user, server, and folder path. As I said, my name is Jason, and my file server is 192.168.1.150. My folder path on my server in particular is mediaNASjason. In my case, NAS is a network drive I shared out, so its pretty specific to my situation. Yours is likely to differ. Tailor the destination to your own situation. If your backup drive is mediastorage and you have a folder on storage named frank, then use mediastoragefrank, etc. In my case: is my destination. Now, about the sources. Theyre simple enough, as its the same as above except it doesnt include userserver. If you want your entire home directory to be synchronized, you can do so with just: If you want your entire home directory synchronized but with the exclusion of. gvfs and the --delete flag, use: Getting the jist of it now Note, you can have multiple sources as well, which makes it handy if you only want to back up a few specific folders to your file server. In my case, I had limited file server space, so I only wanted to back up the most important data to my file server, which to me is Documents and Pictures. Example: You can then set up a Cron job for this to run at specific times. I never run rsync as root, so when I set it up in Cron I set it to launch as jason and just tagged the above rsync command in. Ive since moved away from the Cron route. I shut down my computer at night, but my file server stays up all the time, I added an entry in Startup Applications to do the backup for me, which is handy because it runs at system startup. I named it NAS Backup and put the above command in the command field. Everything works like a charm with zero input needed from me. imagessmiliesguitar. gif Quick tip, if youd like to check out a decent rsync GUI, fire up grsync. Its easy to use and will help you structure out the rsync command if youre not entirely sure just yet. Just note, there is no --exclude flag in the GUI, so youll have to add it manually under Additional Options, but thats pretty -- easy to do. Grsync also doesnt use - a, but instead it breaks up - a to - t - o - p - g etc. Read the rsync man page under the - a section to see why this makes littleno difference. Once you have it formulated the way you want, you can also do a test run, which is one of the features of grsync to make sure it works properly prior to giving it the green light. Assuming all is well and youre done, you can schedule this grsync job with, you guessed it, either Startup Applications or Cron. Keep in mind, the syntax for it is grsync - e jobname. So if you named the job backup, youd run grsync - e backup. This would be the same for Cron or Startup Applications. I tested it running it in Startup Applications. It comes up with a GUI window when I log in showing me the status of the data transfer. If I go the route with Startup Applications and just throwing the full rsync command in, it does it completely in the background. Depending on how much of a visual status you want may dictate which route you go. At any rate, serious kudos to the SSH, Rsync, and Grsync team, as theyve brewed up some very impressive technologies here. The above was meant to be super informative. I hope some users can set up a backup system that works for them. Keep in mind, you never know when Mr. HardDrive is going to tank on you, so plan ahead. Below is a rough summary of what youre doing for the users who dont want to read through a mountain of text. Note: Change the below settings to match your setup, unless your name happens to be Jason and your file server happens to be 192.168.1.150. Client Startup Applications - Select New - Name it backup or whatever you please, and add desired rsync line in the command box, such as:CentOS SSH Installation And Configuration Darr247 December 18, 2017, 5:38 am There are a couplefew things I don8217t get8230 e. g. for Make sure port 22 is opened: netstat - tulpn grep :22 What are we supposed to see if port 22 is opened Add the line - A RH-Firewall-1-INPUT - m state 8211state NEW - m tcp - p tcp 8211dport 22 - j ACCEPT add it where. In the :INPUT ACCEPT section in the :OUTPUT ACCEPT section after :COMMIT No matter which line I put it on, when I restart the iptables service I get a red FAILED message for that line. And then you change the SSH port to 1235 but don8217t revisit iptables What am I missing here Boymix81 February 28, 2017, 9:20 pm - A RH-Firewall-1-INPUT - s 192.168.1.024 - m state 8211state NEW - p tcp 8211dport 22 - j ACCEPT - A INPUT - s 192.168.1.024 - m state 8211state NEW - p tcp 8211dport 22 - j ACCEPT

No comments:

Post a Comment