java 远程修改linux服务器文件_手把手教你通过修改配置文件实现SSH远程登陆Linux...

3df396b6-2c38-467e-982f-163a6aca033d

干货分享

当我们搭建了一套OpenStack需要在上面玩玩虚拟机,我们需要从镜像启动虚拟机,这个时候我们会去OpenStack的官网查找虚拟机镜像,https://docs.openstack.org/image-guide/obtain-images.html提供了主流Linux镜像,当我们把这些镜像导入到OpenStack中并且启动它,这个时候我们会发现,这些镜像默认不能使用密码登陆,默认开启的是密钥登陆,当我们需要密码登陆的时候,我们就需要修改镜像的内容。下面我们通过一个简单的例子讲解下如何修改镜像,使其能够ssh登陆。


首先我们需要从官网下载镜像文件,这里我们以Ubuntu镜像为例:

wget http://cloud-images.ubuntu.com/xenial/current/xenial-server-cloudimg-amd64-disk1.img

安装guestfish套件用于修改镜像

yum install guestfish -y

下面我们开始修改镜像文件

guestfish --rw -a xenial-server-cloudimg-amd64-disk1.imgWelcome to guestfish, the guest filesystem shell forediting virtual machine filesystems and disk images.Type: ‘help’ for help on commands ‘man’ to read the manual ‘quit’ to quit the shell> run> list-filesystems/dev/sda1: ext4> mount /dev/sda1 /> vi /etc/cloud/cloud.cfg> vi /etc/ssh/sshd_config> quit

开启root登陆

1c592c69234a4633b9926b4f4e275082

开启root登陆

设置密码ubuntu

e962480df0aa452fac87a339752b93da

设置root登陆密码

开启ssh远程登陆

PasswordAuthentication yesPermitRootLogin yes

到此Ubuntu镜像已经开启ssh密码和用户名登陆了,下面我们将修改的镜像导入到OpenStack中进行验证。


上传修改后的镜像到OpenStack系统中

. admin-openrc.shopenstack image create "ubuntu"  --file xenial-server-cloudimg-amd64-disk1.img  --disk-format qcow2 --container-format bare  --public

之后我们创建一个虚拟机

nova list+--------------------------------------+-------------+---------+------------+-------------+----------------------------------+| ID | Name | Status | Task State | Power State | Networks |+--------------------------------------+-------------+---------+------------+-------------+----------------------------------+| 896adee9-b276-4006-a7c8-ea75745b2107 | instance-01 | SHUTOFF | - | Shutdown | public=172.24.4.9, 2001:db8::20 || 8519525a-5c60-4eb5-949b-e89b5d6eb7a4 | instance-02 | ACTIVE | - | Running | public=172.24.4.14, 2001:db8::10 || df235276-5cb8-4e46-89f1-d8b20472f072 | instance-03 | SHUTOFF | - | Shutdown | public=172.24.4.6, 2001:db8::3 |+--------------------------------------+-------------+---------+------------+-------------+----------------------------------+
998b5c99fff1468383f2533fe9a7cbe1

虚拟机列表

我们通VNC验证下用户名和密码登陆

4a534038145a4dc485a70ef687ea03a8

VNC ssh登陆

可以看到VNC使用用户名和密码是可以登陆的。

下面我们验证下ssh远程登陆

9af43b945721460bbe880a1229894611

ssh远程登陆

可以看到ssh远程登陆也是没有问题的。

0dcff3b2-d869-41b4-bfc7-c27c98da2e62

干货分享


通过以上修改和验证,修改的镜像实现了用户名和密码登陆,同时也实现了ssh远程登陆,在实际某些应用场景下对我们很有帮助,修改既有的基础镜像用于构建我们业务需要的镜像。

参考:

https://docs.openstack.org/image-guide/obtain-images.html

https://docs.openstack.org/image-guide/modify-images.html

文章如有不妥之处,欢迎指正!谢谢!