Ubuntu20.04 开启SSH服务并启用密钥登陆


参考: 开启SSH服务密钥登陆

启用SSH服务

Ubuntu自带有openssh-client,仅需安装服务端

安装openssh-server软件包

sudo apt update
sudo apt install openssh-server

验证 SSH 是否正在运行

安装完成,SSH 服务将会被自动启动。

sudo systemctl status ssh

打开 SSH 端口

sudo ufw allow 22

局域网内连接到SSH服务器

ssh username@ip_address

ip_address`修改成你安装了 SSH 的 Ubuntu 机器的 IP 地址

开启SSH密钥登陆

检查现有的SSH密钥对

ls -al ~/.ssh/id_*.pub

如果看到,No such file or directory或者no matches found这意味着您没有SSH密钥,则可以继续下一步并生成一个新密钥。
如果存在现有密钥,则可以使用这些密钥并跳过下一步,或者备份旧密钥并生成一个新密钥。

生成一个新的SSH密钥对

ssh-keygen -t rsa -b 4096 -C "your_email@domain.com"

按下Enter以接受默认文件位置和文件名:

Enter file in which to save the key (/home/yourusername/.ssh/id_rsa):

ssh-keygen工具将要求您输入安全密码。是否要使用密码取决于您自己,如果您选择使用密码,您将获得额外的安全保护。在大多数情况下,开发人员和系统管理员在不使用密码的情况下使用SSH,因为它们对于全自动流程很有用。如果您不想使用密码短语,请按Enter。

Enter passphrase (empty for no passphrase):

验证生成了SSH密钥

ls ~/.ssh/id_*

结果应如下

/home/yourusername/.ssh/id_rsa /home/yourusername/.ssh/id_rsa.pub

复制公钥

将公钥复制到服务器的最简单方法是使用名为的命令ssh-copy-id

ssh-copy-id remote_username@server_ip_address

系统将提示您输入remote_username密码:

remote_username@server_ip_address's password:

##验证使用SSH密钥登录到服务器

ssh remote_username@server_ip_address

禁用SSH密码登陆

要为服务器添加额外的安全性,防止遭到暴力破解,您可以禁用SSH的密码身份验证。在禁用SSH密码身份验证之前,请确保您可以不使用密码登录服务器,并且使用sudo特权登录的用户。

使用具有sudo特权或root用户的SSH密钥登录到远程服务器

ssh sudo_user@server_ip_address

打开SSH配置文件/etc/ssh/sshd_config,搜索以下指令并进行如下修改:

PasswordAuthentication no
ChallengeResponseAuthentication no
UsePAM no

保存文件并重启SSH服务

在Ubuntu或Debian服务器上,运行以下命令

sudo systemctl restart ssh
  • 7
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值