Buscar en moleculax

Este blog es un ensayo digital donde el pensamiento estructurado se encuentra con la introspección profunda. Explora la arquitectura del conocimiento: desde lo técnico hasta los fundamentos éticos. Aquí, cada algoritmo tiene propósito, cada línea de código refleja intención, y cada reflexión filosófica busca optimizar no solo sistemas, sino también decisiones humanas. Este blog no solo enseña a pensar, enseña a discernir, a construir con sentido. Porque el verdadero desarrollo nace de la conciencia, y eso exige precisión, virtud y coraje.

Tenemos que aprender a contemplar las potenciales consecuencias de nuestros planes, para impedir que nos sorprendan. De esta manera, tendremos más control sobre las situaciones difíciles ya que el verdadero progreso no se mide por la velocidad con la que avanzamos, sino por la dirección que elegimos. En un mundo cada vez más interconectado, el desarrollo de la humanidad exige más que tecnología y conocimiento: requiere conciencia, empatía y propósito.

Debemos cultivar una inteligencia que no solo resuelva problemas, sino que los prevenga con sabiduría. Una ciencia que no solo descubra, sino que se pregunte por qué y para quién. Una economía que no solo crezca, sino que reparta con justicia. Y una cultura que no solo celebre lo diverso, sino que lo abrace como fuerza vital.

Cada decisión que tomamos, cada palabra que decimos, cada idea que compartimos, puede ser una semilla de transformación. El futuro no está escrito: lo estamos escribiendo juntos, ahora mismo.

Que el desarrollo humano sea integral, sostenible y profundamente humano. Porque solo cuando elevamos a todos, nos elevamos como especie.

Sabiduría Justicia Templanza Coraje
¿Como crear autenticación y permitir acceso remoto a Mongodb?

Por defecto, Mongodb no tiene ningún tipo de autenticación activada y no permite el acceso remoto, a diferencia de la mayoría de Base de Datos como Mysql, MS SQL, Postgres, etc. que vienen con algún nivel básico de autenticación.
En este articulo te mostraré como hacerlo paso por paso para MongoDB 3.X.
Si todavía no tienes instalado MongoDB,  y usa debian solo tiene que revisar este materiar: 

1. Iniciar MongoDB. (No es necesario si ya se encuentra corriendo actualmente).

$ mongod --port 27017 --dbpath /data/db1

2. Conectar a la BD.

$ mongo --port 27017

3. Crear el Usuario administrador.

Agregar un usuario con el rol de readWrite. En este ejemplo estamos agregando el usuario: superAdmin en la BD admin:
$ use admin
$ db.createUser(
  {
    user: "superAdmin",
    pwd: "pass1234",
    roles: [ { role: "root", db: "admin" } ]
  })

4. Habilitar la autenticación y abrir el acceso a MongoDB a todas las IPs.

Edita tu archivo de configuración de MongoDB.
En Ubuntu:
$ sudo nano /etc/mongod.conf
  • Busca la linea net y comenta la líneabindIp debajo de ella, la cual por defecto limita a MongoDB a conexiones locales:
# network interfaces
net:
  port: 27017
#  bindIp: 127.0.0.1  <- code="" comenta="" esta="" linea="">
  • Baja un poco más a la sección #security: y agrega la siguiente línea. Asegúrate de quitar el comentario a la línea security:.
security:
  authorization: 'enabled'

5. Reinicia MongoDB.

$ sudo service mongod restart

6. Conéctate a la BD de manera local con tu cuenta de superAdmin.

$ mongo --port 27017 -u "superAdmin" -p "pass1234" --authenticationDatabase "admin"

7. Abrir puertos en el servidor para el acceso remoto.

Si utilizas Cualquier Servidor Linux, asegúrate de abrir el puerto en los iptables.
sudo iptables -A INPUT -p tcp --dport 27017 -j ACCEPT
Si utilizas Amazon:
  • Ve a tu Dashboard de ec2: https://console.aws.amazon.com/ec2/
  • Luego aInstances selecciona tu instancia, muévete hacia abajo para ver el Security Groups de tu instancia. Ejemplo: launch-wizard-4
  • Ve aNetwork & Security -> Security Groups -> Inbound Y da click en Edit.
  • Crea un puerto TCP Custom 27017, Source: Anywhere, 0.0.0.0/0

8. Prueba tu conexión remota.

Finalmente puedes cerrar tu conexión ssh con tu servidor y probar desde tu computadora personal. Para entrar a tu BD remota de Mongo, solo tienes que ingresar en tu terminal:
$ mongo -u superAdmin -p pass1234 123.45.67.89
Donde 123.45.67.89 es la IP pública de tu servidor.

9. Usando pymongo con tu Servidor MongoDB remoto.

import pymongo
client = pymongo.MongoClient("mongodb://superAdmin:pass1234@123.45.67.89:27017/blog?ssl=false&authSource=admin")
db = client.blog
post = {"autor": "Martin",
        "titulo": "My first blog post!",
        "tags": ["mongodb", "python", "pymongo"]}
posts = db.posts
post_id = posts.insert_one(post).inserted_id
# imprime el id el post recién insertado.print post_id
# imprime el número de elementos en la colección posts.
print posts.count()

Fuentes:
https://docs.mongodb.com/v2.6/tutorial/enable-authentication/
https://docs.mongodb.com/manual/tutorial/configure-linux-iptables-

.

agenda 2023 (1) Algo que leer (265) Android (2) Angular (2) Apache (6) API (1) Arte y Cultura (11) Artes Marciales (10) Banner (1) Base de datos (33) Batalla Cultural (4) Big Data (12) Budismo (4) cabala judia (2) Calculo Asistido por computadoras (2) Canaima (6) Caos (1) Ceo (1) ciencias (1) Cine (1) Cobol (12) Cobra Kai (1) Codigo Linux Documental (2) Computación (3) Computación forense (14) Configurando Samba (1) Conocimiento (1) Consola (8) contenedores (5) Criptomonedas (3) Cultura (1) Cursos (15) Darkweeb (3) Data Mining (1) Debian (12) DeepWeb (7) demografia (8) Deporte y Recreación (9) Deportes (10) desclasificados (7) Desktop (1) developers (1) Docker (6) Document (1) Ecología (6) Editor (3) Editores (4) Educacion y TIC (31) Electronica (2) Emprendimiento (7) Espiritualidad (2) estoicismo (4) Eventos (2) Excel (1) Express (1) fedora (1) Filosofía (25) Flisol 2008 (3) Flisol 2010 (1) Flisol 2015 (1) framework (1) Funny (1) Geografía (1) Gerencia y Liderazgo (72) Gestor de Volúmenes Lógicos (1) Git (7) GitHub (8) Globalizacion (5) gnu (28) Go (1) gobiernos (2) golang (2) Google por dentro (1) GraphQL (1) gRPC (1) Hackers - Documental (8) Hacking (31) Historia (3) howto (189) html (1) IA (19) IntelliJIDEA (1) Internet (6) Introducción a los patrones (2) J SON (1) java (51) java eclipse (2) javaScript (8) JDK (1) jiujitsu (4) Json (1) Junit (1) kali (37) kernel (2) Kotlin (1) Laravel (2) Latin (1) LIbreOffice (1) Libros (4) Linux (44) Linux VirtualBox (1) Literatura (1) Manuales (42) mariaDB (1) Markdown (4) Marketing (1) Matando ladilla (9) Matematricas (1) Math (1) maven (1) metodos https (1) Modelos (1) MongoDB (17) Multimedia (1) Musica (1) mvc (2) Mysql (20) MySQL Workbench (1) Nagios (2) Naturismo (1) node (4) Node.js (5) NodeJS (8) NoSQL (1) Oracle (8) Oracle sql (8) Php (2) PL/SQL (1) Plsql (1) PNL (1) Poblacion (2) Podman (1) Poesia (1) Politica (4) Política (1) Postgresql (8) PowerShell (1) programacion (79) Psicologia (11) Python (5) Recomiendo (1) Redes (31) Religion (2) REST (2) Rock (1) Rock/Metal Mp3 (2) RUP (1) Salud (5) sc:snap:android-studio (1) sc:snap:datagrip (1) sc:snap:gitkraken linux (1) Seguridad (17) Seguridad con Gnu Privacy (2) Seo (1) simulaEntrevistas (10) simularExamen (10) Sistemas Operativos (69) SOAP (1) Sociedad (5) Software Libre (169) Soporte Tecnico (12) Sphinx (1) spring (1) spring boot (10) SQL (3) SQL en postgreSQL (38) Taekwondo (11) Tecnologia (5) Tecnología (27) Templarios (5) Tendencias (1) Thymeleaf (1) Tomcat (2) Tor (9) Trialectica (3) TYPEACRIPT (1) Ubuntu (5) unix (2) Vida activa (1) Videos (11) Videos Educativos (10) Vim (1) Viral (3) Visual Studio (1) wallpaper (2) web (1) Wifi (2) Windows (3) WWW (2) Xrandr (1) Zero Trust (2)

Sabiduria Justicia Templanza Coraje.

Hay que contemplar las potenciales consecuencias de nuestros planes, para impedir que nos sorprendan. De esta manera, tendremos más control sobre las situaciones difíciles.


Powered by