腾讯云Ubuntu远程接入Vscode并设置root免密码登录
最近在尝试Linux编程,想起自己还有一个腾讯云的服务器,就重装了Ubuntu,然后装了环境之后尝试用Vscode连接,但是发现用root用户无论如何都登录不上,后来把用户名换成ubuntu之后就能登录上了,但是在VsCode上写代码时又出现了很多问题。
1、某些文件夹打不开,后来发现是用户权限不够,只能去腾讯云那里登录上root用户,改一下对应文件夹的权限。
2、一些头文件无法正常添加,但是我明明记得装环境的时候测试过是正常的,我又特意去/usr/include/
里面找了一下,头文件都在啊,为什么程序没法添加进去。我又想到了权限的问题,去腾讯云root用户里看了一下,果然,/usr/include/
只有root用户有权限访问,我只能把其权限改成了755,然后就好了。
虽然能正常写程序了,但是心里一直不爽,因为知道了问题一直出在不能用root登录,于是折腾了半天,设置了一下root的密码,设置root能使用密码登录,添加了公钥等免密码登录,这下终于如意了,遂分享一下过程。
VsCode连接Ubuntu
VsCode扩展里面搜索并安装Remote Development
插件,只需要安装这一个,其他的依赖会自动帮你安装好
然后按照图示点击配置文件
然后在文件里添加下面代码:
Host ubuntu //服务器的名称
HostName 127.0.0.1 //服务器的IP地址
User root //要登录的用户
然后VsCode就可以正常连接Ubuntu了,但这一步不是重点。
设置root用户登录
首先登录进入Ubuntu系统,
1、执行命令sudo passwd root
,输入两次密码,就设置好了root用户的密码。
2、执行命令sudo vim /etc/ssh/sshd_config
,这一步是为了修改配置文件,允许root用户使用密码登录
3、在文件里找到PermitRootLogin,将它后面改为yes (如果和我的一样没有这一项,直接添加一行就行) ,保存 (按i进入编辑模式,编辑完esc退出,:wq,保存并退出) 。
4、执行命令sudo service ssh restart
,重启ssh服务。
设置免密登录
打开win10的PowerShell,输入ssh-keygen
,输入三次回车,就直接生成了公钥和私钥。
然后在本机电脑的这个路径C:\Users\your_username\.ssh
,找到id_rsa.pub
这个文件,复制里面的内容。
然后重要的一点来了,在Ubuntu系统中进入/root/.ssh
路径中,创建authorized_keys
文件,把内容粘贴进去。
网上很多教程是使用的默认路径~/.ssh
,而Ubuntu的默认用户名是ubuntu,那样添加公钥只能实现ubuntu用户的免密登录,还是没法对root用户免密登录。
最后sudo service ssh restart
,就可以实现root用户本机免密登录啦!