• Aviso Legal
  • About

Bienvenidos al Blog de David Rodriguez

Category Archives: Servidores

Conectar git en mac a traves de clave privada

junio 25, 2020 11:39 am / Leave a Comment / David Rodriguez

Vamos a intentar conectar desde un MAC a un repositorio GIT con clave privada generada en el propio equipo.

Para ello, lo primero es abrir una ventana de terminal y vamos a crearnos una clave pública y clave privada.

$ ssh-keygen -t rsa -b 4096 -C "tuemail@dominio.com"

Y te pregunta el nombre que le vamos a dar a ese par de claves. Esto luego en el fichero de configuración lo tendremos que poner

Generating public/private rsa key pair.

Enter file in which to save the key (/Users/davidrodriguezgarcia/.ssh/id_rsa): 

Te pide unas palabras para encriptar la clave y hacerla más robusta.

Una vez ya tenemos nuestro par de claves, hacemos un fichero config para usar esa clave donde lo necesitamos. En este caso, lo he puesto para todos los servidores.

$ vi ~/.ssh/config

En este archivo vamos a meter la siguiente configuración

Host *
AddKeysToAgent yes
UseKeychain yes
User usuarioconexiongit
IdentityFile ~/.ssh/nombreclavecreada
LogLevel DEBUG

usuarioconexiongit es el usuario con el que vamos a conectar al repositorio git

nombreclavecreada es el nombre que le hemos dado al crear las claves.

LogLevel Debug lo pongo para probar si todo va bien, aunque luego lo podriamos quitar.

Ahora añadimos esta clave al ssh-agen de la siguiente forma:

$ ssh-add -K ~/.ssh/nombreclavecreada

Ahora ya podemos confirmar que se han creado las claves correctamente

$ ls -al ~/.ssh

y podemos ver que tenemos un fichero nombreclavecreada.pub y otro nombreclavecreada. Esta es la clave publica y privada que acabamos de crear.

Ahora debemos dar de alta la clave publica en nuestro repositorio GIT para que tengamos acceso al repositorio.

Se puede comprobar que nos lo está haciendo correctamente con este comando.

$ ssh -T usuarioconexiongit@iprepositorio

Una vez hecho esto, en mi caso vamos a conectar con el programa sourcetree a nuestro repositorio. Creamos un nuevo repositorio y clonamos desde una url.

y añadimos la configuración que nos piden:

Source URL: usuarioconexiongit@ip_repositorio:nombrerepositorio

Destination path: directorio local donde vamos a bajar el repositorio.

Name: nombre del proyecto del repositorio

Con estos datos, ya deberiamos poder bajarnos el proyecto para empezar a trabajar con el.

Posted in: Mac, Programacion, Seguridad, servidores

permisos de root en aws amazon web service

abril 30, 2019 10:18 am / Leave a Comment / David Rodriguez

Cuando entras en una instancia ec2 de aws, entras con el usuario ec2-user. Si necesitas tener accesos de root en aws, deber ejecutar el siguiente comando.

sudo su -

De esta forma ya veremos que tenemos accesos de root dentro de nuestra instancia ec2 de amazon web service.

Posted in: Seguridad, servidores

saber que proceso consume más memoria en linux

mayo 4, 2018 4:52 pm / Leave a Comment / David Rodriguez

Si tenéis problemas de memoria en vuestro servidor linux, no hace falta generarse ningún fichero sh. Generando un comando en la consola, sabremos cual es el proceso que más memoria nos está consumiendo en nuestro servidor, ordenado por el que más memoria consume.

ps -eo size,pid,user,command –sort -size | awk ‘{ hr=$1/1024 ; printf(«%13.2f Mb «,hr) } { for ( x=4 ; x<=NF ; x++ ) { printf(«%s «,$x) } print «» }’ |cut -d «» -f2 | cut -d «-» -f1

Podemos ver que esto nos genera la siguiente salida:

0.00 Mb COMMAND

      1222.30 Mb /usr/libexec/mysqld

       444.44 Mb /usr/sbin/sw

       296.90 Mb /usr/local/psa/admin/bin/modules/watchdog/monit

       244.32 Mb rm

       223.23 Mb /sbin/rsyslogd

       223.10 Mb /usr/sbin/qpidd

       173.78 Mb /usr/sbin/named

        74.33 Mb auditd

        21.53 Mb /usr/bin/sw

        16.69 Mb /usr/bin/php

        12.54 Mb /usr/sbin/httpd

        12.30 Mb /usr/sbin/httpd

        12.29 Mb /usr/sbin/httpd

        12.27 Mb /usr/sbin/httpd

        12.15 Mb /usr/sbin/httpd

        12.15 Mb /usr/sbin/httpd

 

Con esto podemos ver mucha información muy importante….

Que el proceso que más consume es MySql, que cada petición http nos consume unos 12 megas y con esto obtener el MaxClients de la configuración de Apache, etc

Posted in: servidores

Resuelto aws load balancer out of service

septiembre 6, 2017 11:01 am / Leave a Comment / David Rodriguez

Si estas instalando en Amazon AWS un balanceador de cargar (Load Balancer) y al añadir alguna instancia encuentras que el estado es OutOfService es importante mirar estas 2 cosas:
1.- Que los grupos de seguridad sean los mismos en el balanceador de carga y en las instancias
2.- Te estas equivocando en el Check Health.
Es importante que debes configurar una pagina que no sea una redirección 301 a una página, es decir directamente esa pagina debe dar una respuesta 200, o el sistema te dirá OutOfService.
Esto lo podemos comprobar viendo la respuesta del log en la instancia.

Estos son los problemas que Amazon nos dice que debemos mirar Soluciona problemas balanceador de carga pero en ningún sitio te pone el punto 2 y por lo visto en muchos foros, es un problema bastante habitual.

 

Posted in: Internet, servidores / Tagged: aws

Acceder al administrador de impresoras en linux desde otro ordenador via web

junio 5, 2017 1:03 pm / Leave a Comment / David Rodriguez

Si tienes instaladas alguna impresora en red, y estas las tienes instaladas en un servidor linux, se puede acceder a estas impresoras o a la cola de correo de estas impresoras via web.
Si podemos acceder al servidor propio no hay ningún problema, ya que podriamos acceder con la siguiente url
http://localhost:631

Si queremos hacerlo desde otro ordenador de la propia red, o desde un ordenador externo a red lo tendriamos que configurar en el fichero cups.conf para que nos acepte esas ips.
Por ejemplo, para acceder desde un ordenador de la red interna, modificadiriamos el siguiente archivo:

vi /etc/cups/cupsd.conf

y modificados las siguientes lineas para aceptar las peticiones desde nuestro ordenador

# Only listen for connections from the local machine.

#Listen localhost:631

Listen 192.168.0.8:631

Listen /var/run/cups/cups.sock

 

Aceptamos que se puedan conectar por ip con la ip del servidor de impresión, en este caso 192.168.0.8

 

 

 

# Default authentication type, when authentication is required…

#DefaultAuthType Basic

# Restrict access to the server…

<Location />

  Order allow,deny

  Allow 192.168.0.31

</Location>

# Restrict access to the admin pages…

<Location /admin>

  Order allow,deny

  Allow 192.168.0.31

</Location>

# Restrict access to configuration files…

<Location /admin/conf>

  AuthType Default

  Require user @SYSTEM

  Order allow,deny

  Allow 192.168.0.31

</Location>

 

Dejamos acceder desde un ordenador de la red interna. No es seguro poder dejar acceder desde muchos ordenadores ya uqe estariamos abriendo un agujero de seguridad en nuestros sistemas.

 

Se guarda el fichero y se reinicia el servicio de impresión cups

service cups restart

 

De esta forma, si en un navegador ponemos:

http://192.168.0.8:631

podremos acceder a administrar las impresoras de ese ordenador linux.

 

 

Posted in: Seguridad, servidores

Script aviso de espacio de disco duro en linux

mayo 26, 2017 11:02 am / 1 Comment / David Rodriguez

He tenido que hacer un script que me avise cuando el disco duro del servidor esté casi lleno y  y borre unos archivos que se generan automaticamente.
El problema nos ha venido porque en Amazon AWS no hay alerta de espacio de disco duro, hay miles de alertas que puedes generarte, de memoria, cpu,etc yo creo que puedes incluso crearte una para cuando no te queda café en tu casa, pero curiosamente, no hay ninguna, o por lo menos no la he encontrado, que te avise cuando al disco duro se llena.
Para ello, me he basado en script shell para que me avise por email y borre unos archivos de un directorio cuando el espacio en disco es mayor que el 85%.

En el apartado devices, teneis que poner el disco o discos  que quereis controlar.
Os dejo aquí el script para que lo utiliceis y modifiqueis si es necesario:

#!/bin/bash

####### Configuración del script #######

# Sistemas de ficheros a chequear
devices[0]=/dev/xvda1
#devices[1]=/dev/sda1
#devices[2]=/dev/sdb1
#devices[3]=/dev/sdd1
#devices[4]=
#….

# Destinatario del correo
destinatario1=»micorreo@correo.com»
destinatario2=»otrocorreo@correo.com»
####### Cuerpo del script ########

# Recorremos el array de dispositivos a monitorizar
for device in ${devices[@]};
do
# Consultamos la ocupación del dispositivo
ocupacion=$(df -H | grep $device | expand | tr -s » » | cut -d » » -f5 | cut -d «%» -f1)
# Si la ocupación es igual o mayor al 85%…
if [ $ocupacion -ge 85 ];
then
# Preparación y envío del correo
correo=$(echo «WARNING, » $device en `hostname` al $ocupacion»% de ocupación!! Se borra la cache.»)
asunto=$(echo «Alerta de espacio en » `hostname` » – » $device)
echo $correo | mail -s «$asunto» $destinatario1
echo $correo | mail -s «$asunto» $destinatario2

#Borrar ficheros automaticamente del directorio que quieras
rm -rf /var/www/tudominio.com/cache/*
fi
done

 

Me he basado en un script que he encontrado en esta página.

 

Una vez que al script le da permisos de ejecución

chmod 777 ./miscript.sh

Ya podemos probar y ejecutar el script y ver que funciona (podemos cambiar el 85% por cualquier otro valor para ver que funciona.)

Ahora solo nos queda meterlo en el crontab y ejecutarlo cada hora para que nos avise en caso de que el disco duro esté a punto de llenarse.

crontab -e

Añadimos esta linea al cron

50 */1 * * * /home/ec2-user/scripts/warning_hdd.sh</span>

De tal forma que cada hora, en el minuto 50, se ejecutará nuestro script y nos avisará por mail, ademas de borrarnos los archivos de la caché.

Posted in: Programacion, servidores

[emerg]: bind() to 0.0.0.0:80 failed (98: Address already in use)

marzo 1, 2017 10:33 am / Leave a Comment / David Rodriguez

Si ves este error en el siguiente fichero /var/log/sw-cp-server/error.log

es que otros usuarios o procesos están utilizando el puerto 80 y al intentar arrancar ngnix, no puede hacerlo correctamente.
Para solucionar esto, mata todos los procesos del puerto 80 y luego rearranca el servicio ngnix

> sudo fuser -k 80/tcp

> service nginx restart

Posted in: servidores

Acceso directo a ssh en escritorio de Mac

diciembre 15, 2016 2:10 pm / Leave a Comment / David Rodriguez

No hace bajarse ningún programa externo. El propio sistema operativo de Mac te permite crearte unos accesos directos a los ssh que más utilicemos y tenerlos bien organizados.
Abres el «Terminal» y pulsas en Terminal > Preferencias

acceso-ssh-terminal-mac

En la columna de la izquierda vienen algunos ejemplos que nos ayudan a tener por lo menos un color de fondo configurado. Se puede insertar uno nuevo o lo mejor es cogerse alguno que ya viene hecho y duplicarlo, modificar el nombre para empezar a cambiar los datos. Para este ejemplo he seleccionado uno que se llama «Solid Colors» por ejemplo y tenemos en la parte derecha 6 pestañas.

  • Texto: Configurar los colores de fondo de la ventana del terminal
  • Ventana: Configuración del tamaño de la ventana de trabajo
  • Pestaña
  • Shell: Configurar el comando ssh que vamos a lanzar
  • Teclado
  • Avanzado

Os hemos puesto algunas de las pestañas que se suelen modificar, aunque es muy intuitivo y podeis personalizar muchísimos valores .

Importante es poner en la pestaña Shell, el comando a ejecutar

ssh root@www.midominio.com

acceso-ssh-terminal-mac2

Yo personalmente, tengo los accesos directos en una carpeta rapidamente accesible. Simplemente arrastrando el cuadrado de la parte izquierda y llevandolo al Finder, tendremos el acceso directo desde el que podremos acceder a nuestro servidor por ssh.

Posted in: Mac, servidores / Tagged: MacOS, ssh

Error 503 service unavailable y como solucionarlo optimizando php-fpm

noviembre 23, 2016 4:37 pm / Leave a Comment / David Rodriguez

Si te encuentras algunas caidas de tu servidor con el error 503 service unavailable, es un error dificil de ver de donde viene.
Lo primero es detectarlo, y podemos buscar en las urls del fichero de apache access_log para ver si hay paginas que responden 503.
> grep » 503 » access_log

y podemos ver algunas lineas
[21/Nov/2016:23:04:23 +0100] «GET /url HTTP/1.0» 503 8593 «-» «Mozilla/5.0 (compatible; AhrefsBot/5.1; +http://ahrefs.com/robot/)»

donde vemos que esa petición al servidor nos responde un error 503 service unavailable.

Esto nos quiere decir que estamos teniendo problemas de carga.

Yo lo primero que suelo mirar es la carga de la Base de datos. Si tienes configurado el fichero de consultas mysql lentas, se puede ver si hay alguna que podamos optimizar poniendo algún índice.

> more /var/log/mysql-slow-queries.log

Tambien deberemos optimizar la configuración de la base de datos configurando el fichero my.cnf

 Lo siguiente es ver si la configuración de las peticiones apache están correctamente configuradas. Si es el caso que tienes plesk y tienes instalado un servidor apache con PHP-FPM, puedes ver la configuración php que tienes y ver si hay algún problema.

Mira el fichero de log

more /var/log/php-fpm/error.log

En este caso hemos encontrado indicios que aquí estaba el problema

WARNING: [pool dominio.com] server reached max_children setting (5), consider raising it

Vamos a configurar los parametros para que acepte más peticiones según la memoria que tengamos en el servidor

1.- Creamos un fichero php.ini

vi /var/www/vhosts/system/cursosmarcablanca.com/conf/php.ini

Donde configuramos los siguientes valores

[php-fpm-pool-settings]

pm.max_children = 50

pm.start_servers = 5

pm.min_spare_servers = 5

pm.max_spare_servers = 35

¿como calculamos estos valores? Yo hice el calculo que dicen en esta pagina

No utilices toda la RAM de la maquina, sino bastante menos porque el resto de procesos tambien ocupan memoria.

2.- Ponemos el siguiente comando para guardar esa configuración

> /usr/local/psa/bin/php_settings -u

3.- En el administrador de plesk, te vas a Dominios > dominio.com > Configuración PHP y pulsas en Aplicar.

Si tienes otras versiones de Plesk, puedes seguir los pasos descritos en la página oficial de Plesk sobre como cambiar la configuración del pool de PHP-FPM

De esta forma, el uso de memoria en tu servidor va a ir como la seda.

Posted in: servidores / Tagged: apache, linux, php

Error 550 SC-001 al enviar a correos hotmail, live, outlook

marzo 14, 2016 10:46 am / Leave a Comment / David Rodriguez

Me ha pasado con varios servidores con IP Nueva, que al intentar mandar correos a hotmail, hotmail directamente me los rechaza con el siguiente texto:

host mx4.hotmail.com[65.55.37.88] said: 550 SC-001
(COL004-MC2F20) Unfortunately, messages from xx.xxx.xx.xx weren’t sent.
Please contact your Internet service provider since part of their network
is on our block list. You can also refer your provider to
http://mail.live.com/mail/troubleshooting.aspx#errors. (in reply to MAIL
FROM command)

Si miras la información de la pagina de hotmail, nos dice los siguiente

550 SC-001 Correo rechazado por Outlook.com en virtud de sus directivas. Los motivos del rechazo pueden estar relacionados con un contenido con características similares al correo no deseado o con la reputación de la IP o el dominio. Si no eres administrador de correo o de red, ponte en contacto con tu proveedor de acceso a correo o Internet para obtener ayuda.

Puede ser que estén mandando spam desde tu servidor, entonces debes comprobar que no lo hacen. Si todo está correcto, comprobar que el SPF está correcto. Se puede comprobar desde esta página

http://www.kitterman.com/spf/validate.html

Finalmente, si todo está correcto, tendrás que rellenar la solicitud para que nuestros amigos de outlook, hotmail, live, etc nos dejen enviar correos a sus dominios.

Para ello, rellena el formulario en ingles, y mandalo.

https://support.microsoft.com/en-us/getsupport?oaspworkflow=start_1.0.0.0&wfname=capsub&productkey=edfsmsbl3&locale=en-us&ccsid=635935447545315375

Posted in: Seguridad, servidores, SPAM

Post Navigation

1 2 3 4 Siguiente »

Categorias

  • Base de datos
  • Empresas
  • Internet
  • Mac
  • marketing
  • Otros
  • Prensa
  • Programacion
  • Redes Sociales
  • Retos deportivos
  • Seguridad
  • SEO
  • servidores
  • SPAM
  • Uncategorized
© Copyright 2023 - Blog de David Rodriguez