Ubuntu 18.04 root 使用ssh密钥远程登陆

设置root账户密码

sudo passwd root
  • 切换Root
su root
  • 设置允许远程密码方式登录Root
vim /etc/ssh/sshd_config

# Authentication:

#LoginGraceTime 2m
PermitRootLogin yes  #修改为yes
#MaxAuthTries 6
#MaxSessions 10


#重启服务
service ssh restart
# 至此 root 用户 密码登陆问题已解决

Ubuntu 18.04 root 使用ssh密钥远程登陆

前言:

Ubuntu默认是禁止root用户远程登陆

本教程解决Ubuntu 18.04版本 root用户 使用ssh密钥无法远程登陆的问题

问题发生的环境:

腾讯云,重装Ubuntu服务器时选择使用ssh密钥登陆服务器。

image

问题概括:

重装完成后默认创建了ubuntu用户,使用ssh密钥正常登陆,编辑/etc/ssh/sshd_config文件开启PermitRootLogin yes并重启sshd服务,使用Xshell使用root远程连接失败,提示“所选的用户密钥未在远程主机上注册”。

Google搜索问题发现大多数都是类似以下解决方法:

  1. sshd_config开启运行root远程登陆PermitRootLogin Yes (已配置 但root登陆失败)

  2. root登陆次数太多 账号被锁 重置登陆次数 (不是此条原因)

    尝试无果继续搜索 看到一篇文章提到

    配置ssh公钥到user/.ssh/authorized_keys

    https://www.jianshu.com/p/7cd6f8102816?utm_campaign

这篇文章给了我思路,腾讯云重装系统只要勾选使用ssh登陆,就会默认帮我们配置好默认的ubuntu用户的ssh配置设置,而root用户因为默认就禁止远程登陆,那么会不会也因此并没有配置上ssh公钥呢。(根据上面的登陆失败提示 心里想应该八九不离十就是这个原因)

解决思路

使用命令查看authorized_keys 文件的路径

find -name authorized_keys

root@VM-0-3-ubuntu:~# pwd
/root
root@VM-0-3-ubuntu:~# find -name authorized_keys
./.ssh/authorized_keys
root@VM-0-3-ubuntu:~#

发现确实root和ubuntu用户分别对应一个authorized_key文件

对比查看两个authorized_keys文件发现问题所在,ubuntu用户加载了正确的ssh公钥,而root用户下的authorized_keys文件内容则为空。知道问题所在就好解决了

解决步骤

使用命令移动到ubuntu用户下的authorized_keys文件所在目录

cd /home/ubuntu/.ssh/

root@VM-0-3-ubuntu:~# cd /home/ubuntu/.ssh/
root@VM-0-3-ubuntu:/home/ubuntu/.ssh# ll
total 12
drwx------ 2 ubuntu ubuntu 4096 Apr 21 10:01 ./
drwx------ 6 ubuntu ubuntu 4096 Apr 21 10:01 ../
-rw------- 1 ubuntu ubuntu  225 Apr 21 09:45 authorized_keys
root@VM-0-3-ubuntu:/home/ubuntu/.ssh# 

拷贝authorized_keys文件覆盖root用户下.authorized_keys文件

cp -i authorized_keys /root/.ssh/

root@VM-0-3-ubuntu:/home/ubuntu/.ssh# cp -i authorized_keys /root/.ssh/
cp: overwrite '/root/.ssh/authorized_keys'? yes
root@VM-0-3-ubuntu:/home/ubuntu/.ssh# 

重启ssh服务之后问题就解决了。

sudo service ssh restart

什么是buffer/cache?

buffer和cache是两个在计算机技术中被用滥的名词,放在不通语境下会有不同的意义。在Linux的内存管理中,这里的buffer指Linux内存的:Buffer cache。这里的cache指Linux内存中的:Page cache。翻译成中文可以叫做缓冲区缓存和页面缓存。在历史上,它们一个(buffer)被用来当成对io设备写的缓存,而另一个(cache)被用来当作对io设备的读缓存,这里的io设备,主要指的是块设备文件和文件系统上的普通文件。但是现在,它们的意义已经不一样了。在当前的内核中,page cache顾名思义就是针对内存页的缓存,说白了就是,如果有内存是以page进行分配管理的,都可以使用page cache作为其缓存来管理使用。当然,不是所有的内存都是以页(page)进行管理的,也有很多是针对块(block)进行管理的,这部分内存使用如果要用到cache功能,则都集中到buffer cache中来使用。(从这个角度出发,是不是buffer cache改名叫做block cache更好?)然而,也不是所有块(block)都有固定长度,系统上块的长度主要是根据所使用的块设备决定的,而页长度在X86上无论是32位还是64位都是4k。

明白了这两套缓存系统的区别,就可以理解它们究竟都可以用来做什么了。

什么是page cache?

Page cache主要用来作为文件系统上的文件数据的缓存来用,尤其是针对当进程对文件有read/write操作的时候。如果你仔细想想的话,作为可以映射文件到内存的系统调用:mmap是不是很自然的也应该用到page cache?在当前的系统实现里,page cache也被作为其它文件类型的缓存设备来用,所以事实上page cache也负责了大部分的块设备文件的缓存工作。

什么是buffer cache

Buffer cache则主要是设计用来在系统对块设备进行读写的时候,对块进行数据缓存的系统来使用。这意味着某些对块的操作会使用buffer cache进行缓存,比如我们在格式化文件系统的时候。一般情况下两个缓存系统是一起配合使用的,比如当我们对一个文件进行写操作的时候,page cache的内容会被改变,而buffer cache则可以用来将page标记为不同的缓冲区,并记录是哪一个缓冲区被修改了。这样,内核在后续执行脏数据的回写(writeback)时,就不用将整个page写回,而只需要写回修改的部分即可。

如何回收cache?

Linux内核会在内存将要耗尽的时候,触发内存回收的工作,以便释放出内存给急需内存的进程使用。一般情况下,这个操作中主要的内存释放都来自于对buffer/cache的释放。尤其是被使用更多的cache空间。既然它主要用来做缓存,只是在内存够用的时候加快进程对文件的读写速度,那么在内存压力较大的情况下,当然有必要清空释放cache,作为free空间分给相关进程使用。所以一般情况下,我们认为buffer/cache空间可以被释放,这个理解是正确的。

但是这种清缓存的工作也并不是没有成本。理解cache是干什么的就可以明白清缓存必须保证cache中的数据跟对应文件中的数据一致,才能对cache进行释放。所以伴随着cache清除的行为的,一般都是系统IO飙高。因为内核要对比cache中的数据和对应硬盘文件上的数据是否一致,如果不一致需要写回,之后才能回收。

在系统中除了内存将被耗尽的时候可以清缓存以外,我们还可以使用下面这个文件来人工触发缓存清除的操作:

  • 解决云服务器 缓存问题
#查看内存
root@VM-0-3-ubuntu:/usr/local/docker/redis# free -h
              total        used        free      shared  buff/cache   available
Mem:           3.7G        470M        708M        6.4M        2.5G        3.0G
Swap:            0B          0B          0B

#执行命令
#表示清除pagecache。
echo 1 > /proc/sys/vm/drop_caches
#表示清除回收slab分配器中的对象(包括目录项缓存和inode缓存)。slab分配器是内核中管理内存的一种机制,其中很多缓存数据实现都是用的pagecache。
echo 2 > /proc/sys/vm/drop_caches
#表示清除pagecache和slab分配器中的缓存对象。
echo 3 > /proc/sys/vm/drop_caches
# 再次查看
root@VM-0-3-ubuntu:/usr/local/docker/redis# free -h
              total        used        free      shared  buff/cache   available
Mem:           3.7G        465M        3.0G        6.3M        290M        3.0G
Swap:            0B          0B          0B

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,509评论 6 504
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,806评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,875评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,441评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,488评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,365评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,190评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,062评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,500评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,706评论 3 335
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,834评论 1 347
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,559评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,167评论 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,779评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,912评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,958评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,779评论 2 354

推荐阅读更多精彩内容