配置key认证登陆Ubuntu (上)
每一个看似轻松的结果背后都有不为人知的辛酸。又是一件小事,结果折腾了一天。
上接配置好SSH 和Samba后,开始了Python编程实践。由于实在不大会用Vim, 所以最后的编程环境实际上在Windows下用Notepad++写代码,通过Samba服务器更新直接同步到Ubuntu,当天用的还不错,把Python文件操作这部分算是小试牛刀了一下。
睡一觉起来后,悲剧开始了:SSH开始连接不上了!ssh localhost也不行。
Error 1 : connection reset by peer
Error 2: connection refused
坦言讲,这两种错误以前都遇见过,算是比较常见的错误,但google后似乎没看到特别好的解决办法,不过可以断定的是,sshd_config 配置文件有问题。
使用 grep sshd /var/log/auth.log查看下ssh服务相关的错误日志。
悲剧2: 为了查看配置文件方便,一条 chmod 777 -R /etc/ 执行了(最开始只在Python的WorkDirectory设置了777)
结果就是sudo命令再也执行不了。
Error 3:
sudo: /etc/sudoers is world writable
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin
/etc/sudoers默认只有root有读权限(440),
p@VM:~$ ll /etc/sudoers
-r--r----- 1 root root 745 2月 11 2014 /etc/sudoer
看起来是系统检测到 /etc/sudoers 的读写属性发生了变化,然后给出了提醒。所以现在是sudo的所有命令都执行不了。要说以前在12.04版本的时候貌似也这么干过,但是并没有出现过这种问题,姑且认为是到14.04版本安全性又提高了。
关键词丢进google,差点没吐血。这几乎是一个致命的错误 :要么重装系统,要么用USB portable或者开机切入到recovery/single模式,进入root shell,把 文件权限设置回去。 这两种方式都不好弄,最后终于找到了一个bypass方法:
http://askubuntu.com/questions/304212/how-to-solve-sudo-etc-sudoers-d-is-world-writable
#pkexec chmod 0440 /etc/sudoers
这条命令是可以在普通用户下执行的,执行会弹出一个图形对话框,要你输入root密码,然后切入到root.
算是切回来了,捏了一把汗。当然接下来脑子一热,没有搞清楚/etc/sudoer的正确权限,手贱执行了#chmod 600 /etc -R又是另一个悲剧:
Error 4:
sudo: /etc/sudoers is owned by uid 1000, should be 0
sudo: unable to stat /etc/sudoers.d/README: No such file or directory
这回#pkexec chmod 0440 /etc/sudoers 也执行不了,而且google下来 多数也是指向最开始提到的两种方法。
(1)USB进入
由于是Hyper-V虚拟机方式,修改开机启动顺序,从光驱加载ISO启动,进入后选择 "Try Ubuntu",使用默认Ubuntu用户倒是能直接切入root,检查发现我之前的/home 目录不存在,预感这种方法不行,直接切换到下一种方法了。
(2-1)Single模式
这个在忘记root密码时经常会用到这个办法
a) 在出现grub画面时,用上下键选中你平时启动linux的那一项,然后按e键
b).再次用上下键选中你平时启动linux的那一项(类似于kernel /boot/vmlinuz-2.4.18-14 ro root=LABEL=/),然后按e键
c). 修改你现在见到的命令行,加入single,结果如下:
kernel /boot/vmlinuz-2.4.18-14 single ro root=LABEL=/
d). 回车返回,然后按b键启动,即可直接进入linux命令行
e). 输入passwd,再输入两次新密码;
f). #reboot重启
这是理想情况,以前在CentOS和 BlackTrack上也实践过,问题都不大。结果这回在Ubuntu 14.04上,进入编辑模式后,居然出现了if else模式,敢情grub也跟着变复杂了。不知道single 该加在哪里了, 想想真是恨不得马上回到12.04版本还是自己熟悉的系统好, 放弃。
(2-2)Recovery模式
这个实在是个槽点,开机启动后 一直卡在 "Booting system without full network configuration" 过不去。
以前不记得Linux系统还必须检查网络的情况(Not a Must),这回居然栽在这上面,而且Ctrl+Alt+F1 ,进入了字符界面,却一直没有出现root shell. 亦放弃。
所以最后,经过一上午的折腾,结果是:重装系统。
到这为止,又印证了上一篇文章提到的:花N多时间解决一个问题,不如直接重装系统来的快。这似乎跟开发人员所说的看懂别人的代码的过程还不如自己重新写代码。
挂机重装完系统,下午继续。
配置key认证登陆Ubuntu (上)的更多相关文章
- 配置key认证登陆Ubuntu (下)
梗概: 使用证书登陆,可以减少密码的使用,避免密码泄露,证书登陆更加方便.安全. Secure CRT 和Putty 原理相同,生成 密钥对(Key pair)操作有所不同. 1.生成key pair ...
- linux SecureCRT ssh key认证登陆
转自:http://blog.chinaunix.net/uid-20639775-id-3207171.html 通过SecureCRT创建key登录认证 一.生成公钥/密钥对 使用SecureCR ...
- Ubuntu上搭建Hadoop环境(单机模式+伪分布模式) (转载)
Hadoop在处理海量数据分析方面具有独天优势.今天花了在自己的Linux上搭建了伪分布模式,期间经历很多曲折,现在将经验总结如下. 首先,了解Hadoop的三种安装模式: 1. 单机模式. 单机模式 ...
- Ubuntu上配置SQL Server Always On Availability Group(Configure Always On Availability Group for SQL Server on Ubuntu)
下面简单介绍一下如何在Ubuntu上一步一步创建一个SQL Server AG(Always On Availability Group),以及配置过程中遇到的坑的填充方法. 目前在Linux上可以搭 ...
- Configure Always On Availability Group for SQL Server on Ubuntu——Ubuntu上配置SQL Server Always On Availability Group
下面简单介绍一下如何在Ubuntu上一步一步创建一个SQL Server AG(Always On Availability Group),以及配置过程中遇到的坑的填充方法. 目前在Linux上可以搭 ...
- ubuntu上vsftpd服务配置
Ubuntu上提供两种常用的ftp服务应用:vsftpd 和 tftpd,区别如下: 1)vsftpd 支持客户端上下传文件,支持浏览器显示及下载,支持用户名密码认证,支持匿名访问,默认端口TCP:2 ...
- 微软KinectV2深度传感器在Ubuntu上的配置和使用
最新博客地址已转到: http://blog.csdn.net/zzlyw?viewmode=contents ------------------------------------------ ...
- ubuntu上配置nginx实现反向代理
反向代理 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客 ...
- Ubuntu上latex+atom配置
网上流传的latex+atom大都是windows上的,Ubuntu与windows上的配置方式大同小异,这里写下自己的经验: 分为三个步骤,首先安装texlive,texlive是latex的依赖库 ...
随机推荐
- 【2018年全国多校算法寒假训练营练习比赛(第五场)-E】情人节的电灯泡(二维树状数组单点更新+区间查询)
试题链接:https://www.nowcoder.com/acm/contest/77/E 题目描述 情人节到了,小芳和小明手牵手,打算过一个完美的情人节,但是小刚偏偏也来了,当了一个明晃晃的电灯泡 ...
- Android内存优化(一)DVM和ART原理初探
相关文章 Android内存优化系列 Java虚拟机系列 前言 要学习Android的内存优化,首先要了解Java虚拟机,此前我用了多篇文章来介绍Java虚拟机的知识,就是为了这个系列做铺垫.在And ...
- Ubuntu16.04配置apache+php+mysql
命令行配置apache input sudo apt-get install apache2 done! 命令行配置mysql 参见: MySQL install and setting 命令行配置p ...
- 【retina】手机上 1PX 边框
1像素边框,在2倍屏幕上为2“占位”,3倍屏上为3“占位”,但设计师就要1“占位” .content h1:after, .content h2:after { border-top: 1px sol ...
- 前端导出Excel
1.首先,需要下载一个叫better-xlsx,的插件,以yarn 为例 ' yarn add better-xlsx --save '下载相关依赖包( npm 方式 ' npm i better-x ...
- JDBC 3 通过PreparedStatement 对数据库进行增删改查
下面程序沿用上面的封装. 1 插入数据 public boolean ChaRu3(User user){ boolean flag=true; Connection conn=null; Prepa ...
- Oracle Sql Developer 连接 SqlServer
1.下载 jTDS - SQL Server and Sybase JDBC driver 地址:http://sourceforge.net/projects/jtds/files/ 2.运行SQL ...
- LG3374 【模板】树状数组 1
题意 如题,已知一个数列,你需要进行下面两种操作: 将某一个数加上x 求出某区间每一个数的和 对于100%的数据:N<=500000,M<=500000 分析 cdq分治解决,参照mlys ...
- sqlalchemy的基本的使用
参考链接:http://www.techweb.com.cn/network/system/2016-10-11/2407638.shtml http://www.cnblogs.com/renfan ...
- linux 命令详解 sort
转自:https://www.cnblogs.com/51linux/archive/2012/05/23/2515299.html sort是在Linux里非常常用的一个命令,管排序的,集中精力,五 ...