SSH简介
Secure Shell
(安全外壳协议,简称 SSH
)是一种加密的网络传输协议,可在不安全的网络中为网络服务提供安全的传输环境。SSH
通过在网络中建立安全隧道来实现 SSH
客户端与服务器之间的连接。SSH
最常见的用途是远程登录系统,人们通常利用 SSH
来传输命令行界面和远程执行命令
SSH
以非对称加密实现身份验证。身份验证有多种途径,例如其中一种方法是使用自动生成的公钥-私钥对来简单地加密网络连接,随后使用密码认证进行登录;另一种方法是人工生成一对公钥和私钥,通过生成的密钥进行认证,这样就可以在不输入密码的情况下登录。任何人都可以自行生成密钥。公钥需要放在待访问的电脑之中,而对应的私钥需要由用户自行保管。认证过程基于生成出来的私钥,但整个认证过程中私钥本身不会传输到网络中。SSH
协议有两个主要版本,分别是 SSH-1
和 SSH-2
。无论是哪个版本,核实未知密钥来源都是重要的事情,因为 SSH
只验证提供用户是否拥有与公钥相匹配的私钥,只要接受公钥而且密钥匹配服务器就会授予许可。这样的话,一旦接受了恶意攻击者的公钥,那么系统也会把攻击者视为合法用户。
SSH常用操作
1、生成 SSH key
检查
SSH key
是否存在1
ls -al ~/.ssh
如果输入上面的命令后显示没有文件
id_rsa.pub
或id_dsa.pub
,则表示当前用户还没有创建SSH key
,因为我本地电脑已经有了,所以不截图了。生成
SSH key
1
ssh-keygen -t rsa -C "1476982312@qq.com"
注意: 把上面的邮箱 1476982312@qq.com
换成你自己的
输入如上命令后,弹出的选项内容大概解释为:首先 ssh-keygen
会确认密钥的存储位置(默认是 ~/.ssh/id_rsa
),然后它会要求你输入两次密钥口令。 如果你不想在使用密钥时输入口令,直接回车就行。
查看自己的公钥
1
cat ~/.ssh/id_ras.pub
查看自己的公钥
1
cat ~/.ssh/id_ras
2、SSH
远程连接
- 默认连接
1
ssh liang@192.168.0.1
注意: liang
是我的用户名,请更换为自己的用户名
- 指定端口连接
1
ssh -p 1436 liang@192.168.0.1
注意: liang
是我的用户名,请更换为自己的用户名, 1436
是远程服务器的 SSH
端口号
结语
简单记录下 SSH
的日常用法。