Setting Up an sftp Site on Amazon Web Services EC2, and a Guest Account

(Original/copy post  from, and and adapted a little bit.

This consists of three parts:

  • setting up an sftp site on EC2
  • creating a new user account
  • configuring the new user account to do read-only ftp, with no ssh privileges

This is intended for transferring files to and from trusted users. I use this as an adequate solution for occasionally sending very large files to clients, using an EC2 instance dedicated to that task. After the transfer is complete, I shut down or delete the instance.

Set up a server using Amazon Web Services EC2, choosing an Ubuntu Amazon Machine Image (AMI). (You can find an AMI using You may want to choose one that’s free tier eligible, such as ami-1aad5273)

ssh into the server:

ssh -i keyfile.pem [email protected]

Install vsftpd:

sudo apt-get install vsftpd

Create a new user:

sudo adduser newusername

Using the AWS Management Console, generate a new key pair for the third-party user.

On Linux, you can generate the public and private keys with the following command on your own local system:

ssh-keygen -b 1024 -f newusername -t dsa

On the server, create the .ssh directory for the new user:

sudo mkdir /home/newusername/.ssh

Paste the public key into /home/newusername/.ssh/authorized_keys.

Set permissions:

sudo chmod 700 /home/newusername/.ssh

sudo chmod 600 /home/newusername/.ssh/authorized_keys

sudo chown -R newusername:newusername /home/newusername/.ssh

Test the new user’s sftp login from your local machine:

sftp -o IdentityFile=newkeypair1.pem [email protected]

Make a new group for users who should be limited to using only sftp:

sudo groupadd sftponly

sudo adduser newusername sftponly

Edit /etc/ssh/sshd_config and change the Subsystem line to:

Subsystem sftp internal-sftp

and add these lines to the end of /etc/ssh/sshd_config:

Match group sftponly
ChrootDirectory /home/%u
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp

Set permissions, without clobbering files necessary for EC2’s key-based authentication (only download):

sudo chown root:root /home/newusername

To deny SSH shell access, run the following command:

sudo usermod newusername /bin/false

If you want permit uploads use the command below.

sudo chown newusername:newusername /home/newusername


sudo chown -R newusername:newusername /home/newusername/.ssh

sudo /etc/init.d/ssh restart

Now the new user can connect by sftp, but not by ssh. Place the files you want to share in /home/newusername, and share the key with the user or upload your files.

Java REST Client with Basic Authentication

This Java Client can be used to invoke any RESTful endpoint by proving a baseURL, username and password.


Configurando Wildfly com Apache, load balance e clusterização no CentOS7

Esse artigo mostra uma proposição de um ambiente balanceado, clusterizado, full profile HA, usando Apache2 e Wildfly, usando o modo domain para propósitos de gestão.

Para balanceamento e cluster, usaremos o mod_cluster sob o Apache com todas as máquinas rodando sistema operacional CentOS7. Para esse propósito usaremos quatro servidores, distribuídos em:

  • server1: 01 servidor para Apache e mod_cluster;
  • server2: 01 servidor para o domain, Wildfly;
  • server3 e server4: 02 servidores com wildfly para compor o cluster.

Seguiremos uma sequencia de comandos para a configuração dos servidores eapplications server.

Verifique em todos os servidores…

A rede está funcionando? Veja qual IP de cada máquina com “ip addr” ou “ifconfig” e tente “pingar” ou conectar com ssh. O CentOS7 por default deixa a rede desalibilitada.

server1: Instalando Apache2 HTTP

Execute o comando abaixo para a instalação do Apache2:

Após a instalação, inicie o serviço.

Acesse no browser de sua máquina se o Apache HTTP Server está no ar, só acessar pelo IP: http://<IP_SERVER1>. Se nenhuma página de testes aparecer, então provavelmente você precisa liberar a porta 80 para o HTTP Server no firewall; veja aqui como configurar.

Baixar e instalar o mod_cluster.

Depois a instalação.

Comente a linha do mod_proxy_balancer pois será usado o mod_cluster

Depois de comentada

Criar e adicionar o conteúdo do arquivo de configuração do cluster, o mod_cluster.conf.

Adicione o texto abaixo no arquivo mod_cluster.conf

Criar um usuário com senha para o mod_cluster com o singelo nome de “admin”.

Fazer uma reciclagem do Apache.

Testar novamente no browser: http://<IP_SERVER1>

Testar se o mod_cluster foi corretamente instalado e está respondendo: http://<IP_SERVER1>/mod_cluster_manager

server2, server3 e server4: Instalando e configurando Java e Wildfly

Baixar, instalar e configurar o Java

Baixar o Wildfly

Instalar Wildfly

Configurar um usuário no Linux, o wildfly

Alterar a permissão do usuário “wildfly” para administrador do Linux (cuidado!) acrescentando a linha logo abaixo.

Depois criar password e entrar como usuário “wildfly”

Configurar o Wildfly

Editar o arquivo de configuração e descomente as linhas abaixo

Configurar o Wildfly como um serviço

Iniciar o Wildfly

Veja no log se não algum erro

Parar o Wildfly

server2: configurando o Wildfly Master Domain

Configurar o Wildfly Master

Altere as linhas abaixo

Faça login como usuário “wildfly” se já não estiver

Configurar  o parâmetro, adicionando junto com as outras linhas de JAVA_OPTS

Configurar os nomes do domínio



Criar um usuário dentro do WildFly para comunicação no modo domain, usaremos depois; siga a sequência abaixo.

Anotar o secret gerado após criar o usuáro pois será usado adiante

Criar um usuário para acessar a web console

server3 e server4: configurando o Wildfly como host-slave

Configurar o Wildfly para modo host-slave

Alterar as linhas abaixo

Adicionar as linhas de JAVA_OPTS para o domain


Configurar o slave

Adicionar name no <host (no server03 adicione host1, no server4 adicione host2)

Alterar o secret para o mesmo do Master Domain

Adicionar o username

Alterar o servers para: (no server03 adicionar arquitetura-1, no server04 adicionar arquitetura-2)

Conectando o Wildfly ao Apache Web Server

No Servidor server-domain-widfly edite o arquivo /opt/wildfly/domain/configuration/domain.xml. Busque pele profile <profile name=”arquitetura-full-ha”>. Dentro desse profile edite o Subsystem <subsystem xmlns=”urn:jboss:domain:modcluster:1.2″> deixando-o como abaixo:

Observe que na tag proxy-list nós colocamos os Balancer(s) / Apache Web Servers. Acesse o mod cluster manager para visualizar as instâncias conectadas nos Balancers.












Multiple Instances of WildFly on Different Ports on Same Machine

WildFly can be started on the default port 8080 using:

The default landing page is then accessible at localhost:8080 and looks like:


The default admin console is accessible at localhost:9990/console and looks like:


Do you want to start another WildFly standalone instance on the same machine on a different port ?

will start another standalone server on port 8080 + 1000. And so the landing page is now accessible at localhost:9080. Similarly, admin console is now accessible at localhost:10990/console.

Similarly, you can start multiple instances by specifying port offset.

Be Sociable, Share!

How to Install Apache on CentOS 7

The Apache web server is one of the most popular and powerful web servers in the world, due to its ease of administration and flexibility. In this tutorial we will install Apache on a server that doesn’t have a web server or database server already installed.

Pre-Flight Check
  • These instructions are intended for installing Apache on a single CentOS 7 node.
  • I’ll be working from a Liquid Web Self Managed CentOS 7 server, and I’ll be logged in as non-root user. If you need more information then visit a tutorial on How to Add a User and Grant Root Privileges on CentOS 7.
Step 1: Install Apache

First, clean-up yum:

sudo yum clean all

As a matter of best practice we’ll update our packages:

sudo yum -y update

Installing Apache is as simple as running just one command:

sudo yum -y install httpd

Step 2: Allow Apache Through the Firewall

Allow the default HTTP and HTTPS port, ports 80 and 443, through firewalld:

sudo firewall-cmd --permanent --add-port=80/tcp

sudo firewall-cmd --permanent --add-port=443/tcp

And reload the firewall:

sudo firewall-cmd --reload

Step 3: Configure Apache to Start on Boot

And then start Apache:

sudo systemctl start httpd

Be sure that Apache starts at boot:

sudo systemctl enable httpd

To check the status of Apache:

sudo systemctl status httpd

To stop Apache:

sudo systemctl stop httpd

Be Sociable, Share!


© 2017 Ziben IT Solutions

Theme by Anders NorénUp ↑