背景:
从阿里云开源镜像网站【ubuntu-releases-20.04.6安装包下载_开源镜像站-阿里云】下载系统镜像。安装启动后,执行sudo systemctl status ssh,发现未安装软件。因为是内网机器,所以研究手动安装ssh
步骤:
1、修改阿里云镜像源
参考网站:[Ubuntu] 修改 apt-get 源为国内镜像源的方法 | PHP 技术论坛
1.1、备份sources.list文件,并编辑sources.list文件
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo vi /etc/apt/sources.list
1.2、用dd指令删除原来的内容,添加威阿里镜像源
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multivers
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
1.3、 更新apt-get
sudo apt-get update
2、用apt-rdepends工具分析依赖,并下载离线安装包
2.1、apt-rdepends工具没有,需要在线安装一下即可。
2.2、分析依赖并下载
apt-rdepends openssh-server | grep -v "^ " | xargs apt-get download
可能会发现很多依赖下载报错,没有好的办法,手动一个个解决。
2.3、安装依赖
sudo dpkg -i *.deb
2.4、步骤2.3错误解决
错误如下,提示版本不对和依赖未安装,手动解决
dpkg: dependency problems prevent configuration of openssh-server:
openssh-server depends on openssh-client (= 1:7.6p1-4ubuntu0.7); however:
Version of openssh-client on system is 1:8.2p1-4ubuntu0.5.
openssh-server depends on openssh-sftp-server; however:
Package openssh-sftp-server is not installed.
openssh-server depends on libssl1.0.0 (>= 1.0.2); however:
Package libssl1.0.0 is not installed.
=号后面加指定版本
sudo apt-get download openssh-client=1:7.6p1-4ubuntu0.7
sudo apt-get download libssl1.0.0
sudo apt-get download openssh-sftp-server
2.5、手动下载好指定版本后,依次安装
sudo dpkg -i libssl1.0.0_*.deb
sudo dpkg -i openssh-sftp-server_*.deb
sudo dpkg -i openssh-client_*.deb
sudo dpkg -i openssh-server_*.deb
若出现问题,运行修复依赖包指令,改指令会自动找当前目录下的可用安装包
sudo apt-get install -f
3、验证ssh是否安装成功
3.1、若步骤2无明显报错,可进行验证是否成功,active表示成功
sudo systemctl status ssh
● ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: >
Active: active (running) since Wed 2024-06-19 22:33:32 PDT; 1min 40s ago
Main PID: 20752 (sshd)
Tasks: 1 (limit: 2235)
Memory: 888.0K
CGroup: /system.slice/ssh.service
└─20752 /usr/sbin/sshd -D
Jun 19 22:33:32 ubuntu systemd[1]: Starting OpenBSD Secure Shell server...
Jun 19 22:33:32 ubuntu sshd[20752]: Server listening on 0.0.0.0 port 22.
Jun 19 22:33:32 ubuntu sshd[20752]: Server listening on :: port 22.
Jun 19 22:33:32 ubuntu systemd[1]: Started OpenBSD Secure Shell server.
3.2、若未启动,手动启动,设置开机启动
sudo systemctl start ssh
sudo systemctl enable ssh
3.3、防火墙设置,关闭防火墙
sudo ufw status
sudo ufw allow ssh
sudo ufw allow 22
3.4、telnet指令检查端口是否通
telnet 192.168.66.128 22
4、设置root用户
在Ubuntu中,默认情况下,root账户是锁定。通过以下步骤启用root用户
4.1、设置root账户的密码
sudo passwd root
4.2、启用root账户
sudo passwd -u root
4.3、修改ssh配置文件
sudo vi /etc/ssh/sshd_config
将【PermitRootLogin prohibit-password】修改为【PermitRootLogin yes】
4.4、重新启动SSH服务以应用更改
sudo systemctl restart ssh