SSH Key Auth using KeeAgent with Git Bash and Windows CLI OpenSSH
In a previous blog post we showed how to configure KeePass and KeeAgent on Windows to provide SSH key agent forwarding with confirmation while using PuTTY and other PuTTY agent compatible programs. In this post we’ll expand on that by showing how to use the same key agent to provide SSH key auth when using Git Bash and the Windows command line OpenSSH.
Git Bash support
Open KeePass, click on Tools → Options, select the KeeAgent tab.
Create C:\Temp
if it does not exist.
Check the two boxes in the Cygwin/MSYS Integration section.
Directly after each box, fill in the path: C:\Temp\cygwin-ssh.socket
for the Cygwin compatible socket file, and C:\Temp\msys-ssh.socket
for the msysGit compatible socket file.
Click OK.
Open Git Bash.
Create the file ~/.bash_profile
with the contents:
test -f ~/.profile && . ~/.profile
test -f ~/.bashrc && . ~/.bashrc
Create the file ~/.bashrc
with the contents:
export SSH_AUTH_SOCK="C:\Temp\cygwin-ssh.socket"
Close and reopen Git Bash.
You should now be able to SSH with Git Bash using your loaded SSH key and a dialog box should appear to approve the use of the key.
Windows command line OpenSSH support
Open KeePass, click on Tools …
!-->windows ssh
Auburn University and VisionPort: How the World Gets Its Water
The IBT Water Project at Auburn University, headed by Associate Professor P.L. Chaney, has done outstanding work illustrating in a GIS format how cities around the world get their water. The Geoscience department has mapped how water is captured and distributed in Australia, Egypt, India, Mexico, Kazakhstan, and the western USA.
The department chose the Central Arizona Project to turn into an interactive presentation on the VisionPort platform.
Starting at the Mark Wilmer Pumping Plant, water is pumped from the Colorado River towards over a dozen plants and lifted up over 2,000 feet in elevation across a series of “stair-steps” before it reaches its final destination near Tucson, where it is then distributed across the state to where it is most needed.
This data displayed on their VisionPort, installed in a custom wood case in their library, allows students to see the entire journey in a 3D environment spanning seven 65-inch displays. The presenter can take them to each stop and explain the functions of the many plants, check gates, and turnouts along the way.
Numerous departments at Auburn University have had success turning their presentations into engaging experiences on the …
visionport gis education
Running PostgreSQL on Docker
Introduction
PostgreSQL, or Postgres, is an open-source relational database. It is officially supported on all the major operating systems: Windows, Linux, BSD, MacOS, and others.
Besides running as an executable binary in an operating system, Postgres is able to run as a containerized application on Docker! In this article we are going to walk through the Postgres implementation on Docker.
Prerequisites
- Docker or Docker Desktop. Please refer to my previous article for help with Docker installation.
- Internet access is required to pull or download the Postgres container image from the Docker Hub.
- A decent text editor, such as Vim or Notepad++, to create the configuration YAML files.
Get to know the official Postgres Image
Go to Docker Hub and search for “postgres”.
There are a lot of images for PostgreSQL at Docker Hub. If you don’t have any special requirements, it is best to select the official image. This is the image maintained by the Docker PostgreSQL Community.
The page that search result links to describes the Postgres image, how it was made and how to use it. From this page we know the image name and the required parameters. This is essential …
!-->docker postgres containers
VisionPort at University of Tokyo, New York office: An Exhibition for Peace on August 6th and 7th
Ground Zero, Hiroshima, Japan – August 6th, 1945. Visualized by the lab of Professor Hidenori Watanave.
Technology and education go hand in hand, and the VisionPort platform is being used every day to make that connection.
We are extremely honored to be able to contribute to the first exhibition at the University of Tokyo’s New York office, “Convergence of Peace Activities: Connecting and Integrating by Technologies”.
It is said that those who do not learn from history are condemned to repeat it, and in that vein, the exhibition, drawing from the work of Professor Hidenori Watanave, will be using the VisionPort platform to educate viewers on the realities of the bombings of Hiroshima and Nagasaki, on the date of the 77th anniversary of the first nuclear weapon used in war.
The team has been collecting and colorizing photographic material from the aftermath of the bombings for over 10 years. The exhibition will combine that work with interviews and writings from survivors on a GIS canvas to allow attendees to see what it looked like and to hear from those who were there.
The lab will also be presenting the work they have been doing covering the ongoing conflict in Ukraine. Day by …
visionport event education
Windows SSH key agent forwarding confirmation
At End Point we use SSH keys extensively, primarily for authentication with servers for remote shell access as well as with Git services including GitHub, GitLab, and Bitbucket. Most of the time the servers we are attempting to reach are blocked from direct access and require that we go through an intermediate “jump server”.
Because of this need to jump from server to server we utilize SSH key forwarding that allows us to use the private key stored on our local system to authenticate with each of the servers in the chain. When we reach our destination server we can use the same private key to authenticate with the Git hosting service and perform git commands without having to enter a password.
One of the best practices when using SSH key forwarding is to use an option called key confirmation. When key confirmation is turned on, each time a request is made to use the private key that is loaded in the SSH agent a prompt will appear on your local machine to approve the use of the key. This reduces the ability for an attacker to use your private key without approval.
For the longest time SSH key confirmation was not available on Windows. One of the most popular SSH clients on Windows …
!-->windows ssh
CSTE Conference EpiTrax retrospective
Last week we were in Louisville, Kentucky for the CSTE Conference. End Point staffed a conference booth to represent the EpiTrax public health surveillance system to a wonderful group of public health experts.
You can read some background about the conference and CSTE in our earlier blog post announcing our plans.
We really enjoyed meeting new friends in person after two years of canceled events due to the pandemic. We spoke with staff from health departments and disease surveillance teams from several state and local jurisdictions, as well as with experts from the CDC and other software and service vendors.
One of the highlights was going around to meet other people staffing booths at the conference. It charged us up to see and hear about all of the interesting and innovative things going on in the public health space at a time when there is so much that needs to be done. We were particularly struck by the efforts being made in onboarding and distributing ELRs and eCRs, areas where the Electronic Message Staging Area (EMSA, which we deploy and support) can complement and enrich those activities.
The open-source disease surveillance and reporting software EMSA and EpiTrax both …
conference casepointer epitrax emsa
How to deploy a Django App with Aurora Serverless and AWS Copilot
Photo by Виктор Куликов
AWS Copilot has the capability to provision an external database for its containerized work load. The database options are DynamoDB (NoSQL), Aurora Serverless (SQL), and S3 Buckets. For this blog we are going to provision and use Aurora Serverless with a containerized Django app. Aurora Serverless comes with 2 options for its engine: MySQL or PostgreSQL.
Watch Amazon’s 2-minute introduction video to get the basic idea of Aurora Serverless.
We are going to work with the same Django application from my last article on AWS Copilot.
In my last article, the Django application was deployed with SQLite as the database. The application’s data is stored in SQLite which resides internally inside the container. The problem with this setup is the data is not persistent. Whenever we redeploy the application, the container will get a new filesystem. Thus all old data will be removed automatically.
Now we are moving away the application’s data externally so that the life of the data does not depend on the container. We are going to put the data on the Aurora Serverless with PostgreSQL as the engine.
Django with SQLite as the internal database
Django …
!-->docker containers aws postgres
How to deploy a containerized Django app with AWS Copilot
Generally there are 2 major options at AWS when it comes to deployment of containerized applications. You can either go for EKS or ECS.
EKS (Elastic Kubernetes Service) is the managed Kubernetes service by AWS. ECS (Elastic Container Service), on the other hand, is AWS’s own way to manage your containerized application. You can learn more about EKS and ECS on the AWS website.
For this post we will use ECS.
The chosen one and the sidekick
With ECS chosen, now you have to find a preferably easy way to deploy your containerized application on it.
There are quite a number of resources from AWS that are needed for your application to live on ECS, such as VPC (Virtual Private Cloud), Security Group (firewall), EC2 (virtual machine), Load Balancer, and others. Creating these resources manually is cumbersome so AWS has came out with a tool that can automate the creation of all of them. The tool is known as AWS Copilot and we are going to learn how to use it.
Install Docker
Docker or Docker Desktop is required for building the Docker image later. Please refer to my previous article on how to install Docker Desktop on macOS, or follow Docker’s instructions for Linux and …
!-->docker containers cloud aws python django