本地 SSH 连接教程

本地 SSH 连接教程

本地 SSH 连接教程叶寻2021年10月9日(修改于2022年6月6日)目次安装 OpenSSH使用 SSH 密钥登陆禁止密码登陆用 UFW 防火墙限制 IP查看 SSH 连接禁用 SSH 服务终止 SSH 连接终止 1 个 SSH 连接终止所有连接参考资料延伸阅读Secure Shell(安全外壳协议,简称 SSH )是一种加密的网络传输协议,可在不安全的网络中为网络服务提供安全的传输环境。SSH 通过在网络中创建安全隧道来实现 SSH 客户端与服务器之间的连接。SSH 最常见的用途是远程登录系统,人们通常利用 SSH 来传输命令行界面和远程执行命令。

——Secure Shell - 维基百科,自由的百科全书

本地电脑直接操作就可以了,为什么我还要用 SSH 连接呢?因为这样很酷我懒得从椅子上起来走到另一台电脑操作。本文把被连接的电脑称为服务端,另一台为客户端。开始操作前请确保两台电脑处于同一个网络。

安装 OpenSSH #在两台电脑安装 OpenSSH

1

sudo pacman -Syu openssh

在服务端启用 SSH 服务

1

2

3

4

5

6

7

8

9

# 启用 sshd.service

sudo systemctl start sshd.service

# 开机启动

sudo systemctl enable sshd.service

# 关闭开机启动

# sudo systemctl disable sshd.service

# 关闭 sshd.service

# sudo systemctl stop sshd.service

查看状态

1

2

3

4

❯ systemctl status sshd.service

● sshd.service - OpenSSH Daemon

Loaded: loaded (/usr/lib/systemd/system/sshd.service; disabled; vendor preset: disabled)

Active: active (running)

显示 Active: active 就说明成功了

查看服务端本地 IP 地址

1

2

ip route get 1.2.3.4 | awk '{print $7}'

# 192.168.3.100

用 ip addr 查看也行

客户端连接服务端

1

ssh [email protected]

使用 SSH 密钥登陆 #用 SSH 密钥登陆就可以不输入密码登陆了。

在客户端生成 SSH 密钥

1

2

ssh-keygen -t ed25519 -C "your computer model"

# 一直按 Enter 就行

查看并复制 SSH 公钥

1

2

❯ cat ~/.ssh/id_ed25519.pub

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHY84a2KfbwfkkKyoSvQk+thsKITpmdFzNbYoCs0SlkU magicbook14

连接服务端

1

ssh [email protected]

导入 SSH 公钥

1

2

3

mkdir ~/.ssh

touch ~/.ssh/authorized_keys

echo 'ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHY84a2KfbwfkkKyoSvQk+thsKITpmdFzNbYoCs0SlkU magicbook14' >> ~/.ssh/authorized_keys

禁止密码登陆 #禁用密码登陆后别人就不能暴力破解密码了,更加安全。接下来使用服务端操作,用客户端 SSH 连接操作也行。

1

2

# 备份配置

sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak

1

2

# 修改配置

sudo nano /etc/ssh/sshd_config

在里面加入:

1

PasswordAuthentication no

1

2

3

4

# 重启 sshd.service

sudo systemctl restart sshd.service

# 终止原有连接

pkill sshd

用 UFW 防火墙限制 IP #使用服务端操作,配置并启用 UFW 后只允许特定 IP 访问,例如 192.168.3.177。

1

2

3

4

5

6

# 禁止入站连接(外部访问)

sudo ufw default deny incoming

# 允许 192.168.3.177 访问

sudo ufw allow from 192.168.3.177

# 终止原有连接

pkill sshd

查看 SSH 连接 #1

ss | grep ssh

禁用 SSH 服务 #1

sudo systemctl stop sshd.service

禁用服务不会终止已有 SSH 连接,要执行以下命令终止所有连接。

1

pkill sshd

终止 SSH 连接 #终止 1 个 SSH 连接 # 1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

# 查看用户,pts/1 就是 SSH 连接

❯ w

18:20:06 up 1:08, 2 users, load average: 0.92, 0.54, 0.43

USER TTY LOGIN@ IDLE JCPU PCPU WHAT

hunter tty1 17:12 1:08m 53.14s 0.06s /usr/bin/startplasma-x11

hunter pts/1 18:18 14.00s 0.47s 0.47s -zsh

# 终止进程

❯ pkill -9 -t pts/1

# 查看用户,现在没有 SSH 连接了

❯ w

18:22:23 up 1:10, 1 user, load average: 0.44, 0.48, 0.42

USER TTY LOGIN@ IDLE JCPU PCPU WHAT

hunter tty1 17:12 1:10m 58.05s 0.06s /usr/bin/startplasma-x11

终止所有连接 #1

pkill sshd

参考资料 #11.10 - How can I setup SSH so that it is restricted to my local network? - Ask Ubuntunetworking - Connect two computers with SSH in a home LAN - Ask UbuntuHow to kill SSH user sessions - GrepitoutHow to Kill Inactive or Idle SSH sessions in Linux | 2DayGeek延伸阅读 #SSH 教程 - 网道话题:Linux上篇:以 WPS 为例,手动构建和安装 AUR 的包

下篇:给本地电脑配置 UFW(Uncomplicated Firewall)防火墙giscus 评论。如果评论未加载,giscus 可能被你的互联网服务提供商屏蔽。

Disqus 评论。如果评论未加载,Disqus 可能被你的互联网服务提供商屏蔽。

相关推荐

英国手机版365 华为旗舰店•武汉梦时代

华为旗舰店•武汉梦时代

📅 07-24 👁️ 212
365体育app官方下载 喜马拉雅

喜马拉雅

📅 10-02 👁️ 3847
365体育app官方下载 企鹅fm下载的文件在哪里?企鹅fm音乐文件下载路径地址