ViniciusMuniz.com - Programação, linux e afins.
ViniciusMuniz.com - Programação, linux e afins.
  • Linux
  • PHP
  • Contato
Linux, Sem categoria

Usando ssh sem senha

novembro 12, 2013by vinicius12 Comentários
ssh sem senha

Ssh sem senha

Acessar o ssh sem senha, acho que é uma das coisas, mais util para quem tem que lidar com vários servidores ao mesmo tempo, principalmente para quem precisa fazer copia de arquivos entre eles.

Para se utilizar desta facilidade, basta ter instalado o ssh-keygen, para gerar a chave da maquina. Para esta geração pode se utilizar dois tipos de criptografias, sendo elas, rsa e dsa

O que é RSA?

RSA é um algoritmo de criptografia de dados, que deve o seu nome a três professores do Instituto MIT (fundadores da atual empresa RSA Data Security, Inc.), Ronald Rivest, Adi Shamir e Leonard Adleman, que inventaram este algoritmo — até a data (2008), a mais bem sucedida implementação de sistemas de chaves assimétricas, e fundamenta-se em teorias clássicas dos números. É considerado dos mais seguros, já que mandou por terra todas as tentativas de quebrá-lo. Foi também o primeiro algoritmo a possibilitar criptografia e assinatura digital, e uma das grandes inovações em criptografia de chave pública.

fonte:http://pt.wikipedia.org/wiki/RSA

RSA é comumente mais usado, principalmente por ser o padrão do ssh-keygen.

O que é DSA?

DSA é o acrônimo de Padrão de Assinatura Digital (Digital Signature Algorithm), criado pelo NIST, e especifica o DSA para assinatura digital e SHA-1 para hashing. O DSA é um algoritmo assimétrico e a chave privada opera sobre o hash da mensagem SHA-1. Para verificar a assinatura um pedaço do código calcula o hash e outro pedaço usa a chave pública para decifrar a assinatura, e por fim ambos comparam os resultados garantindo a autoria da mensagem. O DSA trabalha com chaves de 512 à 1024 bits, porém ao contrário do RSA que é multipropósito, o DSA somente assina e não garante confidencialidade. Outro ponto contra o DSA é que a geração da assinatura é mais rápida do que o RSA, porém de 10 a 40 vezes mais lenta para conferir a assinatura.

Como funciona o ssh-keygen?

O ssh-keygen, gera as chaves publicas e privadas, para que a partir delas se possa acessar o servidor. Que no nosso caso ocorrerá sem a digitação da senha, mas essa utilização de chaves, fica como uma dica, para melhorar a segurança de acesso ao servidor, obviamente, se utilizando com senha.

Mãos na massa

Abra seu terminal, chama sua vó, e toda a família para assistir.

Gerando as chaves

Fica ao seu critério qual criptografia utilizar, por isso fiz a explicação das duas. Já que você ta com sua família ai, faça uma votação, para decidir, qual a melhor. Após a votação, siga o tutorial, utilizarei o rsa, se for utiliza dsa, basta trocar onde tem rsa, por dsa.

Faça login no terminal, com o usuário, que você quer acessar o servidor sem a senha. Pois a chave é específica ao usuário.

 ssh-keygen -t rsa

Você vai ter a seguinte resposta:

Generating public/private rsa key pair.
Enter file in which to save the key (/home/vinicius/.ssh/id_rsa):

Meu usuário, é vinicius, não sei se você percebeu, mas meu nome é esse(veja a url!).Enfim, escolha a pasta da qual deseja salvar a chave. Se ta com preguiça apenas confirma.E receberá outra mensagem.Esse passo é muito importante

Enter passphrase (empty for no passphrase):

Como você leu acima, Entre com a palavra passe( a senha ). Como queremos acessar sem senha, apenas, confirme(aperta enter, pede ajuda a tua vó!) sem digitar nada.Ele vai pedir confirmação, aperte “enter” novamente. A confirmação:

Enter same passphrase again:

Pronto, criou a chave!

Your identification has been saved in /home/vinicius/.ssh/id_rsa.
Your public key has been saved in /home/vinicius/.ssh/id_rsa.pub.
The key fingerprint is...

Ele gera um bocado de carácter bonitinho, que não convêm colocar neste post. Tudo criado, agora vamos colocar a chave pública, no servidor, ao qual queremos acessar sem senha.

Colocando a chave pública no servidor destino!

Existem algumas formas diferentes de fazer esse passo, inclusive encontrei uma muito interessante ao escrever esse post. Vou descrever duas, uma simples, e outra mais simples ainda.

Forma simples

O que deve ser feito é colocar o conteúdo da chave pública(id_rsa.pub) no servidor, especificamente no arquivo, authorized_keys, tambem no usúario do servidor, ao qual teremos acesso.

Vamos supor que o nome do usuário do seja joao, no servidor viniciusmuniz.com

Primeiro vamos copiar a chave pública para o servidor

scp /home/vinicius/.ssh/id_rsa.pub joao@viniciusmuniz.com:/home/joao/

Digite sua senha, a sua penúltima vez a digita-la. E depois acesse o servidor, e coloque a chave pública no authorized_keys

ssh joao@viniciusmuniz.com
cat /home/joao/id_rsa.pub >> /home/joao/.ssh/authorized_keys

Pronto! Teste agora o acesso ssh, que já não haverá mais necessidade de senha.

Forma super simples

Essa forma eu encontrei escrevendo esse post. Existe uma facilidade que é o ssh-copy-id, que com apenas um comando, ele já insere a chave pública no servidor destino.

ssh-copy-id -i /home/vinicius/.ssh/id_rsa.pub joao@viniciusmuniz.com 

Acessando o ssh sem senha

Agora basta acessar, que não haverá mais a necessidade de senha. Divirtam-se!

 ssh joao@viniciusmuniz.com
Linux, Sem categoria

Descobrindo portas abertas do servidor

agosto 22, 2013by vinicius1 comentário

nmap-project-logo

Olá, após muito tempo sem escrever, finalmente encontrei tempo.

E em mais um tutorial, vamos aprender, como descobrir portas abertas ou fechadas em um servidor,computador…

nmap

Para tal tarefa, vamos utilizar o comando nmap.

De acordo com a descrição do próprio nmap, o aplicativo é:


O Nmap (“Network Mapper”) é uma ferramenta em código aberto para exploração de rede e auditoria de segurança. Foi desenhada para rastrear(Scan) rapidamente redes amplas contudo funciona bem com um único anfitrião(host). Nmap usa pacotes IP em estado bruto(raw) sobre novas formas para determinar que anfitriões(hosts) estão disponíveis na rede…

Para saber mais você pode encontrar detalhes em http://nmap.org/. Eu gosto de utilizar o nmap, mas não significa que este seja o único modo de realizar esta tarefa.

Listando as principais portas do servidor

O mais simples dos comandos, basta executar o nmap, para o servidor que se deseja investigar

nmap test.com

Listando as principais portas do servidor com mais detalhes

nmap -s test.com

Verificando várias maquinas na rede

Muito útil para administradores de rede

Verificar determinados ips
nmap 192.168.254.1 192.168.254.2 192.168.254.3
Verificando uma faixa(um range) de IP’s
nmap 192.168.254.1-10

Verificando um range usando wildcard
nmap 192.168.254.*

Verificando uma porta específica

nmap -p [port] test.com

Verificando um range de portas

nmap -p 80-400 test.com

Lembrando que esse não é o único método de se fazer essa varredura. E que você pode encontrar mais sobre nmap no link: http://www.cyberciti.biz/networking/nmap-command-examples-tutorials/

Linux, Sem categoria

Agendando comandos facilmente no linux

agosto 5, 2013by vinicius1 comentário
utilizando o comando at linux

utilizando o comando at linux

E ai!! Vamos entender mais um comando do linux, agora o comando at. Que também não conhecia até pouco tempo atrás.

Se imagine na seguinte situação, você tem que rodar um comando hoje, assim, que voltar do almoço(que exemplo bobo do caramba), porêm só irá chegar às 14:30. e seu chefe quer o resultado desse comando às 2 horas, ou ele vai comer seu… figado. Simples!!! O comando at vai te deixar com seu… figado intacto. Vamos a prática, e deixar de bla bla.

O comando se comporta como se fosse uma cron, que irá rodar, e posteriormente deixará de existir. Bem mais simples do que configurar uma linha na cron, para rodar um comando uma única vez.

at na prática

Supondo que o comando que seu chefe quer seja rodado amanha, e seja a lista de todos os usuários logados às 14:00, do qual ele acessa por um arquivo na rede.

O comando aceita várias variantes de configuração da data/tempo. Para este exemplo podemos utilizar desta forma

$ at 2pm tomorrow
at> who > /var/www/list_users.html

Quando você digitar o comando at ele irá abrir um “sub-terminal” do at, para que você digite os seus comando, no nosso caso who > /var/www/list_users.html, para salvar comando no at, use ctrl+d.

Dicas do comando at linux

Listar comandos(trabalhos) configurados no at

Utilize o comando atq, que ele irá listar os trabalhos a serem executados, para o seu usuário, caso você seja o root, o de todos os usuários.

$ atq

Deletar comandos(trabalhos) configurados no at

Utilize o comando atrm, que ele irá remover um trabalho específico, você deve especificar qual o trabalho a ser removido. Por exemplo:

$ atq
5	Fri May 17 13:30:00 2013 a vinicius
6	Fri May 17 13:31:00 2013 a vinicius

$ atrm 5

Indo a fundo no at

Aconselho a ler a documentação do at, pois há muitas dicas na mesma

 man at

Por exemplo:

Rodar um comando daqui a 3 dias às 4 horas da tarde

at 4pm  +3 days

Rodar um comando em um dia específico(18/10/2013) às 4 horas da manhã

Observer neste exemplo, que a data está no padrão MMDDCCYY

at 4am 10182013  
Linux, Sem categoria

18 Comandos linux que você deveria saber

agosto 5, 2013by vinicius1 comentário
Principais comandos linux

Principais comandos linux

Comecei escrevendo este post, com intuito, de ajudar com os comandos básicos de linux, mas, acho que o básico é muita coisa. Então vou dividir por categorias, este primeiro será :

Manipulando arquivos e pastas

Pretendo descrever neste post, os comandos que eu acredito ser os mais úteis na manipulação de arquivos para quem está iniciando no linux, com alguns parâmetros, para facilitar a vida. Quem achar que mais algum se faz necessário, comenta, que eu adiciono no post.

Listando arquivos

Utilizando o comando ls podemos listar arquivos e pastas os ordenando por data da modificação, por tamanho, entre outros. Também podemos listar somente arquivos, ou somente pastas, incluir links. Enfim, para ver mais detalhes consulte a documentação. man ls

Listando arquivos txt, ordenados por tamanho

ls -lhS *.txt

Listando arquivos png, ordenados por tamanho, na ordem reversa

ls -lhSr *.png

Listando arquivos php, ordenados por data da modificação, na ordem reversa

ls -ltr *.php

Criando Arquivos

Existem várias formas de se criar arquivos no linux, entre elas:

Touch

touch test.php

Cat

cat > test.php

Usando editor

Você utilizar seu editor também, eu gosto de utilizar o nano, ou o pico como editor

nano test.php
pico test.php

Apagar Arquivos

Apagar arquivos é fácil, fácil. Basta utilizar o comando rm.

rm test.php

Apagando arquivos de uma extensão

rm *.php
rm *.txt

Apagando arquivos sem confirmar

Utilizando o argumento -f, force forçaremos a remoção do arquivo.

 rm -f test.php

Criando pasta

Tão fácil como os outros, basta utilizar o comando mkdir.

mkdir viniciusmuniz
mkdir /var/www/viniciusmuniz

Criando pasta com permissão

Quem já ouviu falar de linux, já ouviu a frase “Linux não tem vírus”. Bom em minha opnião.. uma mentira, mas a maior parte do motivo, se deve ao gerenciamento de permissões do linux, não descreverei isso profundamente, pois será um outro post dessa série. Quem utiliza um host com suphp, deve já ter visto muito 500 internal server error. Isso se dá, pois a pasta tem que ter a permissão 755, e os arquivos a permissão 644. Para criar uma pasta com permissão, basta utilizar a opção -m .

mkdir -m 0755 viniciusmuniz

Criar pasta recursivamente

Não gostei do nome desse item, se alguém tiver algum melhor, por favor comente. Se você quer criar uma pasta dentro de outra que não existe ainda, você pode criar tudo direto.

mkdir -p /home/vinicius/test/viniciusmuniz/public_html

Removendo pastas

Se você tentou remover uma pasta, já deve ter visto o erro, rm: não foi possível remover “nome da pasta”: É um diretório. Simples, para remover uma pasta, você tem que remover ela recursivamente. Para isto usaremos o argumento -r.

rm -r /home/vinicius/test/viniciusmuniz/public_html

Remover pasta sem confirmação

Utilizando do mesmo comando de “forçar” adicionaremos o -f

rm -rf /home/vinicius/test/

Movendo arquivos e pastas

Para mover utilizaremos o comando mv. No exemplo estaremos movendo a pasta public_html para /home/vinicius

mv /home/vinicius/test/viniciusmuniz/public_html /home/vinicius/

Renomeando pastas e arquivos

O linux não tem comando específico para renomear. Utiliza-se o mv.

mv test.php index.php
mv /home/vinicius/test/ /home/vinicius/teste

Modificar permissão

Este Item está aqui pois tem relação direta com esta manipulação, mas será novamente abordado com mais detalhes, em um próximo post. Para alterar a permissão de algo, utilizasse o comando chmod.

chmod 777 /home/vinicius/teste

Permissão recursivamente

Para dar permissão recursivamente, basta adicionar a opção -r

chmod 777 -R
Page 3 of 3«123
  • English
  • Português

Assine minha lista!

Obrigado!

Posts recentes

  • O que é Iptables, para que serve, e como usar?
  • Como enviar uma requisição POST sem formulário
  • TTY: Como diminuir a quantidade de terminais e aumentar a performance
  • TTY: O que é? Pra que serve? Como usa-lo?
  • Como varrer array multidimensional com php

Comentários

  • Como enviar POST no PHP sem formulário HTML | Clube do Rato em Como enviar uma requisição POST sem formulário
  • vinicius em Corrigindo erro de conexão com mysql.sock
  • vinicius em Como enviar uma requisição POST sem formulário
  • vinicius em Como enviar uma requisição POST sem formulário
  • Adriano Cruz de Oliveira em Corrigindo erro de conexão com mysql.sock

Tags

array atalho linux brainf**k brainfuck c++ checkout comandos linux comandos ssh commit controle de versão CVS debian dicas Hello world instalador debian instalador linux iptables Linux linux performance openssh pacote deb php programar programação php ssh style subversion svn svn protocol tty ubuntu

Categorias

  • Debian
  • Linux
  • Mysql
  • Outros
  • PHP
  • Programação
  • Sem categoria
  • Subversion
  • Ubuntu
  • Web Server
  • Zend Framework

Meta

  • Acessar
  • Feed de posts
  • Feed de comentários
  • WordPress.org