SSH
SSH
本文记录了 SSH 的基本原理和简单使用
SSH 是什么
SSH 是一种加密的网络安全协议,用于安全地远程登录和执行命令. 流程如下
简单用法
登录
语法:
1
ssh -p 22 user@host
参数:
- -p:指定端口号。
- user:登录的用户名。
- host:登录的主机。
默认的端口号为22,当端口号为22的时候,可以省略,直接使用如下方式:
1
ssh user@host
此外,如果本地正在使用的用户名与远程登录的用户名一致,登录用户名也是可以省略的,即如下:
1
ssh host
退出
1
exit
远程登录实例
1、 获取两条主机的 ip 地址, 分别为A(10.6.12.178) B(10.6.12.179)
1
2
3
4
5
6
7
ifconfig | grep inet\
-----------------------------------
注意上面命令中最后有一个空格, 反斜杠对其转译
➜ Desktop ifconfig | grep inet\
inet 127.0.0.1 netmask 0xff000000
inet 10.6.12.178 netmask 0xffff0000 broadcast 10.6.255.255
2、 B 连接 A, 假设要登录的用户为 will
1
2
3
4
5
6
7
8
9
10
➜ ~ ssh -p 22 will@10.6.12.178
The authenticity of host '10.6.12.178 (10.6.12.178)' can't be established.
ED25519 key fingerprint is SHA256:L46IIfpuz3bSmkeeAtEg6td9I+t8TOEewDPeJn6SNEI.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '10.6.12.178' (ED25519) to the list of known hosts.
(will@10.6.12.178) Password:
----------------------------------------
第一次输出是本地没有 A 的指纹,是否继续, 输入 yes 即可, 之后会将 A 的指纹永久保存到本地, 此刻输入密码即可登录.
scp 命令, 安全的远程拷贝数据
对于远程拷贝场景, 可以使用 scp 命令, 和 cp 使用规则一致
1
2
3
4
5
6
➜ ~ scp ~/Desktop/abc.mov will@10.6.12.178:/Users/will/Desktop/xiaoyou
(will@10.6.12.178) Password:
abc.mov 100% 28MB 8.8MB/s 00:03
------------------------------
将本地文件,拷贝到远程主机指定目录
SSH 存在的问题
如果有人截获了登录请求,然后冒充远程主机,将伪造的公钥发给用户,那么用户很难辨别真伪。
因为不像https协议,SSH协议的公钥是没有证书中心(CA)公证的,也就是说,都是自己签发的。
可以设想,如果攻击者插在用户与远程主机之间(比如在公共的wifi区域),用伪造的公钥,获取用户的登录密码。再用这个密码登录远程主机,那么SSH的安全机制就荡然无存了。
这种风险就是著名的”中间人攻击”(Man-in-the-middle attack)。
THE END.
本文由作者按照 CC BY 4.0 进行授权