• Email Address: forum@outsourcepath.com
English
  • English
Topics related to ansible

sudo sorry you must have a tty to run sudo - Fix it now

This article covers how to resolve the error sudo: sorry you must have a tty to run sudo which happens because the sudo command tries to execute a command that requires a tty. 


To fix "sudo: sorry, you must have a tty to run sudo" error:

You have to run your ssh command as follows to avoid error that read as sudo: Sorry, you must have a tty to run sudo Error:

ssh -t hostname sudo command

ssh -t user@hostname sudo command

ssh -t user@box.example.com sudo command1 /path/to/file


The -t option force pseudo-tty allocation. This can be used to execute arbitrary screen-based programs on a remote machine, which can be very useful, e.g., when implementing menu services. 

Multiple -t options force tty allocation, even if ssh has no local tty.


The requiretty option in sudoers file

The requiretty if set in sudo config file sudoers, sudo will only run when the user is logged in to a real tty. 

When this flag is set, sudo can only be run from a login session and not via other means such as cron, shell/perl/python or cgi-bin scripts. 

This flag is set on many distores by default. Edit /etc/sudoers, file, enter:

# visudo

Find line that read as follows:

Defaults    requiretty

Either comment it out the line or delete the line:

#Defaults    requiretty

Save and close the file.

Ansible error Shared connection to server closed

This article covers the Shared connection to server closed error which occur when we run an Ansible command to execute commands on two newly deployed CentOS 8 servers.
Ansible is an open-source automation tool, or platform, used for IT tasks such as configuration management, application deployment, intraservice orchestration, and provisioning.
While you can write Ansible modules in any language, most Ansible modules are written in Python, including the ones central to letting Ansible work. By default, Ansible assumes it can find a /usr/bin/python on your remote system that is either Python2, version 2.6 or higher or Python3, 3.5 or higher.

A quick fix to Ansible error Shared connection to server closed is to just add the path to python 3 in your inventory file.
It would look something like this:
ip_address ansible_python_interpreter=/usr/bin/python3
Then you could test if it works with the ping module:
ansible -m ping all

From the error details, the connection failed because the shell(s) in the remote system couldn't find the Python interpreter (/usr/bin/python) as indicated by the line: "module_stdout": "/bin/sh: /usr/bin/python: No such file or directory\r\n".
After checking the remote hosts, we discovered that the systems don't have Python 2 installed.
Check Python Binary
They have Python 3 installed by default and its binary is /usr/bin/python3.

According to the Ansible documentation, Ansible (2.5 and above) works with Python version 3 and above only.
Also, Ansible is supposed to automatically detect and use Python 3 on many platforms that ship with it.
However, if it fails to, then you can explicitly configure a Python 3 interpreter by setting the ansible_python_interpreter inventory variable at a group or host level to the location of a Python 3 interpreter.

Automate Windows Server 2019 Administration with Ansible

This article will guide you on steps to automate Windows Server 2019 #Administration with Ansible. 

Ansible can be used to manage and execute core functions in Windows #environments, from security updates to remote management using #WinRM. Although Ansible must be run on #Linux, Windows administrators can use Ansible to manage and automate their systems without needing to know how to use a Linux #terminal.

To Connect Ansible on Windows from #Ubuntu:

1. Create Ansible Windows User. Create a new user for the Ansible windows connection setup.

2. Setup Libraries and WinRM.

3. Update the Ansible Inventory file.

4. Update the Ansible Group Variables.

5. Configure #Windows Servers to Manage.

6. Test Connectivity to the Windows Server.

Ansible Playbook to Install WordPress with LAMP

This article will guide you on the step to follow to use #Ansible Playbook to install #WordPress with #LAMP on #Ubuntu 18.04.

In Ansible, the role is the primary mechanism for breaking a #playbook into multiple files. This simplifies writing complex #playbooks, and it makes them easier to reuse. The breaking of playbook allows you to logically break the playbook into reusable components.

To start using Ansible:

1. Prerequisites.

2. Install Ansible.

3. Establish a manual connection to a managed node.

4. Run your first network Ansible command.

5. Create and run your first network Ansible Playbook.

6. Gathering facts from network devices.

Ansible for launching AWS EC2 instances

This article will guide you on how to use #Ansible to launch AWS EC2 instances, security group, and RDS.

First, you're limiting the scope of the playbook to the local #hosts #group. It contains localhost and this is the way Ansible will work with #EC2 instances. Behind the scenes, Ansible connects to Python boto on the local machine and use to establish connection with the AWS #API and issue the necessary #commands.

Then we specify the name of the security group that Ansible will create for us. A security group is like a virtual firewall that must be created for your EC2 instances. If you already have one created, you can associate it with the new EC2 instance. In our case, we’ll be creating a new one from scratch.

How to Provision docker containers with Ansible

This article will guide you on how to provision docker #containers using Ansible. #Ansible seamlessly automates #Docker and the process of building and deploying containers.
Ansible Container will allow users to build, #deploy, and orchestrate containers at scale, all from Ansible playbooks.

Steps to Setup Ansible AWS Dynamic Inventory

This article will guide you on how to use #AWS resources using Ansible with the help of Dynamic Inventory.

The #Ansible #inventory file defines the #hosts and groups of hosts upon which #commands, #modules, and tasks in a playbook operate. The file can be in one of many formats depending on your Ansible #environment and plugins.

Ansible will use it as an inventory source as long as it returns a #JSON structure like the one above when the script is called with the --list .

Ansible Software installation on ubuntu

This article will put you through to install Ansible on Ubuntu and Debian Machines to get it to work via its inventory file.

Recent Post