本文主要介绍ssh免密访问Ubuntu。
前言
What is SSH:
SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。SSH 是较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题
SSH广泛使用的协议,用于安全的访问Linux服务器。
今天我们主要介绍ssh免密访问Ubuntu,其中:
- 客户端(mac)
- 服务器(Ubuntu)
实现步骤大致如下:
- 安装ssh服务
- ssh客户端生成生成公钥和私钥
- 上传公钥到服务器
安装ssh的服务端
在Ubuntu安装ssh服务(这里我使用的是vm默认安装):
sudo apt-get install openssh-server
重启服务
service ssh restart
ssh生成密钥
在Mac,生成密钥的命令:
ssh-keygen
生成的密钥路径: $HOME/.ssh 查看是否生成成功:
cd $HOME/.ssh
ls
id_rsa id_rsa.pub
说明生成成功,其中id_rsa为私钥、id_rsa.pub为公钥。公钥将上传到你要连接的服务器,而私钥则存储在你将用来建立连接的计算机上。接着,将公钥钥上传到Ubuntu:
ssh-copy-id userName@ServerIp
Eg:
ssh-copy-id jefffff@192.168.1.88
接着,查看是否上传成功, 密钥会增加到Ubuntu,路径为$HOME/.ssh/authorized_key
免密访问
接着就可以ssh免密访问服务器了:
ssh -i ~/.ssh/id_rsa -p 22 -l userName ServerIp
Eg::
[master] ssh -i ~/.ssh/id_rsa -p 22 -l jefffff 192.168.1.88
Welcome to Ubuntu 20.04.2 LTS (GNU/Linux 5.4.0-131-generic x86_64)
... 省略一些
*** System restart required ***
Last login: Sat Dec 9 09:21:34 2022 from 192.168.1.33
jeffffff@ubuntu1~$
说明,登入成功。
iterm2配置
为了更方便的访问,可以在iterm2(mac)配置
小结
使用SSH的访问Linux方式有密码和密钥两种方式,使用密钥相对于默认的密码方式优点有: 其一,密码更容易被暴力破解,密钥访问更安全。 其二,亦可通过修改sshd_config配置,来开闭用户对服务器的访问。 文中还通过一个Mac密钥登入Ubuntu的例子,来演示免密访问过程。