The poll of Ubuntu IRC Members closed today and the following nominees have been elected to the Ubuntu IRC Council:
- Alan Bell (AlanBell)
- Benjamin Rubin (Pici)
- Jussi Kekkonen (Tm_T)
- Giovanni Chiazzese (Idleone)
- C de-Avillez (hggdh)
Congratulations to the new IRC Council Members! And thanks to Neal and Nathan for standing for election.
Originally posted to the ubuntu-irc mailing list on Fri Jan 3 20:26:23 UTC 2014 by Elizabeth Krumbach Joseph
configure your own ssh username in user-data
The official Ubuntu AMIs create a default user with the username ubuntu which is used for the initial ssh access, i.e.:ssh ubuntu@<HOST>
You can create other users with your preferred usernames using standard Linux commands, but it is difficult to change the ubuntu username while you are logged in to that account since that is one of the checks made by usermod:$ usermod -l myname ubuntu usermod: user ubuntu is currently logged in
There are a couple ways to change the username of the default user on an Ubuntu instance; both passing in special content for the user-data.Approach 1: CloudInit cloud-config
The CloudInit package supports a special user-data format where you can pass in configuration parameters for the setup. Here is sample user-data (including the comment-like first line) that will set up the first user as ec2-user instead of the default ubuntu username.#cloud-config system_info: default_user: name: ec2-user
Here is a complete example using this cloud-config approach. It assumes you have already uploaded your default ssh key to EC2:username=ec2-user ami_id=ami-6d0c2204 # Ubuntu 13.10 Saucy user_data_file=$(mktemp /tmp/user-data-XXXX.txt) cat <<EOF >$user_data_file #cloud-config system_info: default_user: name: $username EOF instance_id=$(aws ec2 run-instances --user-data file://$user_data_file --key-name $USER --image-id $ami_id --instance-type t1.micro --output text --query 'Instances[*].InstanceId') rm $user_data_file echo instance_id=$instance_id ip_address=$(aws ec2 describe-instances --instance-ids $instance_id --output text --query 'Reservations[*].Instances[*].PublicIpAddress') echo ip_address=$ip_address ssh ec2-user@$ip_address
The above cloud-config options do not seem to work for some older versions of Ubuntu including Ubuntu 12.05 LTS Precise, so here is another way to accomplish the same functionality…Approach 2: user-data script
If you are using an older version of Ubuntu where the above cloud-config approach does not work, then you can change the default ubuntu user to a different username in a user-data script using standard Linux commands.
This approach is also useful if you are already using user-data scripts to do other initialization so you don’t have to mix shell commands and cloud-config directives.
Here’s a sample user-data script that renames the ubuntu user so that you ssh to ec2-user instead.#!/bin/bash -ex user=ec2-user usermod -l $user ubuntu groupmod -n $user ubuntu usermod -d /home/$user -m $user if [ -f /etc/sudoers.d/90-cloudimg-ubuntu ]; then mv /etc/sudoers.d/90-cloudimg-ubuntu /etc/sudoers.d/90-cloud-init-users fi perl -pi -e "s/ubuntu/$user/g;" /etc/sudoers.d/90-cloud-init-users
Here is a complete example using this user-data script approach. It assumes you have already uploaded your default ssh key to EC2:username=ec2-user ami_id=ami-6d0c2204 # Ubuntu 13.10 Saucy user_data_file=$(mktemp /tmp/user-data-XXXX.txt) cat <<EOF >$user_data_file #!/bin/bash -ex user=$username usermod -l \$user ubuntu groupmod -n \$user ubuntu usermod -d /home/\$user -m \$user if [ -f /etc/sudoers.d/90-cloudimg-ubuntu ]; then mv /etc/sudoers.d/90-cloudimg-ubuntu /etc/sudoers.d/90-cloud-init-users fi perl -pi -e "s/ubuntu/\$user/g;" /etc/sudoers.d/90-cloud-init-users EOF instance_id=$(aws ec2 run-instances --user-data file://$user_data_file --key-name $USER --image-id $ami_id --instance-type t1.micro --output text --query 'Instances[*].InstanceId') rm $user_data_file echo instance_id=$instance_id ip_address=$(aws ec2 describe-instances --instance-ids $instance_id --output text --query 'Reservations[*].Instances[*].PublicIpAddress') echo ip_address=$ip_address ssh ec2-user@$ip_address
If you include this code in another user-data script, you may want to change the username towards the beginning of the script so that you can log in and monitor progress of the rest of the script.Clean Up
When you’re done testing, terminate each demo instance.aws ec2 terminate-instances --instance-ids "$instance_id" --output text --query 'TerminatingInstances[*].CurrentState.Name'
The sample commands in this demo require you to install the aws-cli tool.
Original article: http://alestic.com/2014/01/ec2-change-username
Happy new year, friends!
2013 was a phenomenal year for Ubuntu. It is difficult to believe that it was just a year ago today that we announced Ubuntu for phones. Since then we have built and released the first version of Ubuntu for phones complete with core apps, delivered Mir in production on the phone, built a vastly simplified and more powerful new app delivery platform complete with full security sand-boxing, created a powerful smart scopes service to bring the power of native search and online content to devices, delivered a new SDK with support for QML, HTML5, and Scopes, built an entirely new developer.ubuntu.com, created extensive CI and testing infrastructure to ensure quality as we evolve our platform, shipped two desktop releases, extended the charm store, delivered Juju Gui, spun up multiple clouds with Juju, and much more.
In terms of Ubuntu for devices, I mentally picture 2013 as the year when we put much of the core foundational pieces in place. Everything I just mentioned were all huge but significant pieces of delivering a world-class Free Software convergence platform. Building this platform is not as simple as building a sexy GUI; there is lots of complex foundational work that needs doing, and I am incredibly proud of everyone who participated in getting us to where we are today…it is a true testament of collaborative development involving many communities and contributors from around the world.
So, 2013 was an intense year with lots of work, some tough decisions, and lots of late (and sometimes stressful) nights, but it laid down the core pillars of what our future holds. But what about 2014?
This time next year we will have a single platform code-base for phone, tablet, and desktop that adapts to harness the form-factor and power of each device it runs on. This is not just the aesthetics of convergence, it is real convergence at the code level. This will be complemented by an Ubuntu SDK in which you can write an app once and deliver it to any of these devices, and an eco-system in which you can freely publish or sell apps, content, and more with a powerful set of payment tools.
These pieces will appear one phase at a time throughout 2014. We are focusing on finishing the convergent pieces on phone first, then bringing them to tablet, and then finally bringing our desktop over to the new convergent platform. Every piece of new technology that we built in 2013 will be consumed across all of these form-factors in 2014; every line of code is an investment in our future.
Even more importantly though, 2014 will be the year when we see this new era of Ubuntu convergence shipping to consumers. This will open up Ubuntu to millions of additional users, provide an opportunity for app developers to get in on the ground floor in delivering powerful apps, and build more opportunity for our community than ever before.
I wish I could tell you that 2014 is going to be more relaxing than 2013. It isn’t. It is going to be a roller-coaster. There are going to be some late nights, some stressful times, some shit-storms, and some unnecessary politics, but my goal is to help keep us working together as a community, keep us focused on the bigger picture, keep our discourse constructive, and to keep the fun in Ubuntu.
Let’s do this.