ssh 学习笔记
2019-06-24 本文已影响1人
F_wind
介绍
Secure Shell(安全外壳协议,简称SSH)是一种加密的网络传输协议,可在不安全的网络中为网络服务提供安全的传输环境。
连接方式
秘密验证
连接命令:
ssh username@ip
注释:其中username是服务器的用户名,ip是服务器的地址,然后输入服务器端该用户的登录密码即可完成连接验证。
密钥验证
- 生成密钥
在客户端生成公钥和私钥,此处我们使用rsa作为加密方式(加密方式另外还有rsa1、ecdsa、ed25519、dsa等),使用以下命令生成密钥:
ssh-keygen -t rsa
并设置文件名和秘密(这里我们定义文件名为id_rsa),然后会在目录~/.ssh/下生成私钥文件id_rsa和公钥文件id_rsa.pub。
- 连接验证
生成密钥文件以后,将公钥放置在服务器端的目录~/.ssh/authorized_keys下,然后在客户端使用私钥进行免秘密验证,连接命令:
ssh -i ~/.ssh/id_rsa username@ip
快速连接配置
在文件目录~/.ssh/下有个config文件,我们可以将上文两种连接方式中写在里面,然后直接以ssh+服务器简称的方式进行快速连接。
- 秘密配置
Host server01
HostName 192.168.1.10
Port 22
User username
注释:22是ssh的默认连接端口(可变更)。配置完成以后,可以通过以下命令连接,连接时需要再次输入密码。
ssh server01
- 密钥配置
Host server02
HostName 192.168.1.11
Port 22
User username
IdentityFile ~/.ssh/id_rsa
注释:其中IdentityFile为私钥文件的路径。配置完成以后,可以通过以下命令连接,连接时无需再次输入密码。
ssh server02
搭建通道
最简单的文件复制通道,执行命令:
scp -i ~/.ssh/id_rsa '待传送文件' username@ip:'目标传送目录'
通过以上命令,可以建立客户机和服务器之间或者两台服务器之间,文件单向传送的通道。
安全性
SSH旨在保证非安全网络环境(例如互联网)中信息加密完整可靠。不过,SSH它也被指出有被嗅探甚至解密的漏洞。这里我们就不做具体介绍了。