升级ubuntu
sudo apt-get upgrade
安装ifconfig工具net-tools
sudo apt install net-tools
Windows Terminal ssh 虚拟机IP
安装后,想通过Windows Terminal远程工具连接的时候发现连接失败。
Connection closed by 172.20.29.196 port 22
此时,查看Ubuntu关于22的端口,执行命令如下
netstat -ntlp|grep 22
此时若发现无任何关于22端口的进程内容,执行以下命令
sudo ufw allow 22
问题分析
分析登录过程,Permission denied(publickey)的问题可能如下
1、远程服务器没有添加公钥(无法认证)
问题解决
如果服务器端根本就没有添加客户端公钥是断然不可能通过ssh认证的
1、客户端没有秘钥对:通过
ssh-keygen
命令生成秘钥对,默认目录是~/.ssh
文件夹,将.ssh
文件夹内id_rsa.pub
的内容拷贝到服务器上的~./ssh/authorized_keys
文件末尾(若服务器上~./ssh/authorized_keys
不存在则也可使用ssh-keygen
来生成文件结构)2、win10客户端打开ssh-keygen生成的公钥
notepad C:Userskangy/.ssh/id_rsa.pub
3、拷贝到服务器的~./ssh/authorized_keys
文件末尾
vim /home/ubuntu/.ssh/authorized_keys
登录过程如下图所示:
在win10系统上通过multipass安装ubuntu的虚拟机很简单,再通过Windows Terminal登录 ubuntu@primary 也是解决了上述的ssh连接的问题呢。
查看并修改Linux主机名命令hostname
https://blog.csdn.net/elesos/article/details/54312598
修改配置文件,使得下次重启的时候,使用新的主机名
编辑文件:vim /etc/sysconfig/network
修改HOSTNAME=localhost.localdomain
参考资料:
作者:delta1037
来源:简书