腾讯轻量云的Ubuntu20.04.1设置sshd_config允许root通过和密码远程登录笔记2209070534
概述
腾讯轻量云的Ubuntu20.04.1一开始有3个账户: lighthouse
, ubuntu
, root
- lighthouse : 可免密登录,可以
免密sudo
,但不能用本地控制台ssh登录, 只能用浏览器通过云官方提供的WebShell登录 - ubuntu : 可以在本地控制台登录, 但要先指定密码, 可以在管理页面找到
重置密码
按钮, 然后可以给 - root : 默认没有密码,也不允许远程登录
所以, 可以先用lighthouse或ubuntu登录,然后给root设置密码,就可以su到root
ssh要用到22端口,默认是开启的,不用设置
防火墙分为云的防火墙和系统防火墙, 可用 sudo ufw status 查看系统防火墙的状态 系统防火墙默认是停止的
步骤一: 用lighthouse
或ubuntu
登录,二选一
每次重置系统的初始配置可能不一样,
比如昨天是默认不允许所有远程 , 今天重置默认是允许root以外的用户登录
昨天重置系统后 /etc/ssh/sshd_config
的最后一行是 PasswordAuthentication no
今天重置系统后 /etc/ssh/sshd_config
的最后一行是 PasswordAuthentication yes
后来发现是点重置密码
, 云系统会自动改变该项值 , 以允许ubuntu登录
步骤二: 给 root 设置密码
sudo passwd root
两次确认密码
设置成功后, ubuntu
就可以su
切换到root
了, 但 root 还不能直接远程登录
步骤三: 编辑 /etc/ssh/sshd_config
中的 PermitRootLogin
为 yes
可以直接在最后加上一行 PermitRootLogin yes
一步追加 /etc/ssh/sshd_config
中的PasswordAuthentication yes
, PermitRootLogin yes
, 允许ssh远程密码登录
# 一步追加 `/etc/ssh/sshd_config` 中的`PasswordAuthentication yes` , `PermitRootLogin yes`
echo -e "\n# 允许普通用户用密码远程登录\nPasswordAuthentication yes\n# 允许root用密码远程登录\nPermitRootLogin yes" | sudo tee -a /etc/ssh/sshd_config ; sudo systemctl restart sshd
OpenSSH 登录语法
Win10自带OpenSSH客户端,可以在命令行或PowerShell控制台用ssh进行远程登录
基本登录
ssh root@域名或IP
或
ssh root@域名或IP -p 22(端口)
登录,并且长时间保持连接
#保持连接
#TCPKeepAlive=yes是TCP层的保持连接, ServerAliveInterval=300是每300秒发送心跳包,是OpenSSH自己的保持连接方式, 可以只用一个
ssh -o TCPKeepAlive=yes -o ServerAliveInterval=300 用户@域名或IP -p 端口
如果ssh登录遇到WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
ssh登录重装系统的远程机, 报:
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the ECDSA key sent by the remote host is
SHA256:SfkkNfqNK0VZsvnX6PS+XKicWzxx9GoG/vWhbtCjiBI.
Please contact your system administrator.
Add correct host key in C:\\Users\\K/.ssh/known_hosts to get rid of this message.
Offending ECDSA key in C:\\Users\\K/.ssh/known_hosts:17
原因是远端的公钥改变, 比如远端重装了系统
解决办法1:
Windows下, 打开编辑 “C:\Users\用户目录\.ssh\known_hosts”
删除地址对应的一行
或者删除全部行,或干脆删除这个文件known_hosts
解决办法2:
命令行输入: ssh-keygen -R <远程机地址>
ssh-keygen -R 远程机地址