赞
踩
Debian11 服务器安装与SSH配置
Ubuntu 的读音就是优班图,乌班图、乌邦图。一个Linux的发行版本,由debian衍生而来。
Debian 是 Debian 的项目创始人 Ian Murdock 和他的妻子 Debra 的名字缩写。根据 debian 的官方网站建议,应该这样读:Deb’-ee-en ,“得比恩”,重音在第一音节。
使用 apt update 获取最新软件包:
$ apt update
10 packages can be upgraded.
Run ‘apt list --upgradable’ to see them.
N: Repository ‘http://mirrors.tencentyun.com/debian bullseye InRelease’
changed its ‘Version’ value from ‘11.2’ to ‘11.3’
升级系统:
$ apt upgrade
apt update 获取软件包,并没有更新软件。
apt upgrade 则是更据 update 命令获取的最新的软件包列表,去真正地更新软
apt dist-upgrade 则是更据 update 命令获取的最新的软件包列表,去真正地更新软件。
重装系统:腾讯云后台
重置密码:腾讯云后台
$ ssh -p 22 root@124.223.106.211
$ vi ~/.vimrc "====== my vimrc config ======" set number " 显示行号 set cursorline " 突出显示当前行 set tabstop=4 " 设置Tab键宽度为4个空格 set encoding=utf-8 " 设置编码格式 set ruler " 显示标尺 syntax on " 自动语法高亮 set nocompatible " set showmode set showcmd " 输入的命令显示出来,看的清楚些 set autoindent " 设置自动缩进,即每行的缩进同上一节相同 set expandtab " tab set laststatus=2 " 总是显示状态行 set wildmenu set mouse= " 禁用鼠标
(1) 修改 sshd_config 文件
SSH 的默认端口为 22
修改 sshd_config 文件:
$ vi /etc/ssh/sshd_config
在文件里找到“#Port 22”内容, 在下边新增一行或直接将该行的默认端口号修改为【22021】(随便其他的未占用的端口号)。
确认 sshd_config 里的这几个字段,应配置如下:
# 端口号
#Port 22
Port 22021
#允许管理员登录(默认禁止,腾讯云默认已改为yes)
#PermitRootLogin prohibit-password
PermitRootLogin yes
#登录需要使用密码(默认没有该配置,腾讯云镜像已加上)
PasswordAuthentication yes
systemctl status ssh
systemctl restart ssh
(2)修改应用服务器的防火墙
点击【服务器】找到实例,点进详情找到【防火墙】,点击【添加规则】,新增一条自定义的 TCP 规则,端口改成新改的那个端口,比如【2201】。
(3)使用新配置的端口,登录操作成功:
$ ssh -p 22035 root@120.27.63.109
root@120.27.63.109's password:
Welcome to Ubuntu 20.04 LTS (GNU/Linux 5.4.0-31-generic x86_64)
* Documentation: https://help.ubuntu.com
* Management: https://landscape.canonical.com
* Support: https://ubuntu.com/advantage
Welcome to Alibaba Cloud Elastic Compute Service !
Last login: Tue Jun 22 17:11:59 2021 from 58.33.173.42
修改SSH端口号成功。
将之前的通过22端口登录的终端退出,就无法再通过 22端口登录。
# 服务器里
root@VM-4-14-debian:~# exit
logout
Connection to 124.223.106.211 closed.
# 本地终端
$ ssh -p 22 root@124.223.106.211 -o ServerAliveInterval=60
ssh: connect to host 124.223.106.211 port 22: Connection refused
Tips: 密钥读音是【mì yuè】还是【mì yào】?
百度百科: 根据《现代汉语词典(第7版)》,【密钥】mì yuè,口语中多读 mì yào 。
查看已存在的公钥
$ ls -al ~/.ssh
id_rsa.pub
id_ecdsa.pub
id_ed25519.pub
如果在本地终端,暂定一段时间就卡住了,自动断开服务器链接了。可以增加一个参数 ServerAliveInterval 。
ssh -p 22 root@43.152.198.184 -o ServerAliveInterval=60
ServerAliveInterval:客户端在向服务器发送空数据包之前(等待连接保持活动状态)将等待的秒数。这里设置成 60 秒,就是在终端没有操作是,每60秒告诉服务器一次,客户端还在保持连接。
你需要用到 ssh-keygen,它是 OpenSSH 的组件,在 Linux 和 macOS 中一般都自带了。
算法:
常见的 SSH 登录密钥使用 RSA 算法。
ed25519 的安全性在 RSA 2048 与 RSA 4096 之间,且性能在数十倍以上。
RSA算法,是1977年由罗纳德·李维斯特(Ron Rivest)、阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。
当时他们三人都在麻省理工学院工作。RSA 就是他们三人姓氏开头字母拼在一起组成的。
ed25519 加密解密很快,生成时间短而且安全性更高,rsa 则加密解密稍慢,安全性没有 ed25519 高。
生成一个新的密钥:
# 使用 ed25519 算法
$ ssh-keygen -t ed25519 -C "your_email@example.com"
# 使用 rsa 算法
$ ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
可以直接指定生成的文件名称:
cd ~/.ssh
ssh-keygen -t ed25519 -f id_ed25519 -C "your_email@qq.com"
ssh-keygen -t ed25519 -f github_id_ed25519 -C "your_email@github.com"
ssh-keygen -t ed25519 -f gitee_id_ed25519 -C "your_email@gitee.com"
注意:示例里的邮箱地址,请改成你自己的邮箱地址。
如果您创建了不同名称的密钥,或者您要添加不同名称的现有密钥,请将命令中的 id_ed25519 替换为您的私钥文件的名称。
$ ssh-add ~/.ssh/id_ed25519
ssh-copy-id 命令可以把本地主机的公钥复制到远程主机的authorized_keys文件上。
ssh-copy-id 命令也会给远程主机的用户主目录(home)和 ~/.ssh
, 和 ~/.ssh/authorized_keys
设置合适的权限。
ssh-copy-id -i ~/.ssh/ssh_id_ed25519.pub root@124.221.154.175
## 使用 -p 指定端口
ssh-copy-id -i ~/.ssh/ssh_id_ed25519.pub -p 22001 root@124.223.106.211
在本地机器上的目录 ~/.ssh/
下创建 config 文件,并以如下格式编辑配置文件:
Host web_master
Hostname 124.223.106.211
Port 22211
User root
ServerAliveInterval 60
ServerAliveCountMax 10
PreferredAuthentications publickey
IdentityFile ~/.ssh/ssh_id_ed25519
Host *
AddKeysToAgent yes
UseKeychain yes
IdentityFile ~/.ssh/id_ed25519
ServerAliveInterval:客户端在向服务器发送空数据包之前(等待连接保持活动状态)将等待的秒数。
ClientAliveInterval:服务器在向客户端发送空数据包之前(等待连接保持活动状态)将等待的秒数。
将值设置为0(默认值)将禁用这些功能,因此如果空闲时间太长,连接可能会断开。
在服务器上查看(vhost):
authorized_keys
cat ~/.ssh/authorized_keys
注意,authorized_keys文件的权限要设为644,即只有文件所有者才能写。如果权限设置不对,SSH 服务器可能会拒绝读取该文件。
$ chmod 644 ~/.ssh/authorized_keys
将公钥 ssh_id_ed25519.pub 的内容填写在里面。 如果有多个公钥(多台电脑都想登录这个服务器),每行一个公钥。
直接使用 ssh + 自定义的 host 名,就可以直接登录到服务器了。
ssh web_master
最后,可以在 服务器修改 /etc/ssh/sshd_config 文件,将允许账户密码登录的配置项去掉,只通过密钥登录。
# 将允许密码登录的配置 PasswordAuthentication 注释掉
# PasswordAuthentication yes
感谢阅读,谢谢.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。