Linux小码农养成记Linux学习之路

ssh 学习笔记

2019-06-24  本文已影响1人  F_wind

介绍

Secure Shell(安全外壳协议,简称SSH)是一种加密的网络传输协议,可在不安全的网络中为网络服务提供安全的传输环境。

连接方式

秘密验证

连接命令:

ssh username@ip

注释:其中username是服务器的用户名,ip是服务器的地址,然后输入服务器端该用户的登录密码即可完成连接验证。

密钥验证

  1. 生成密钥
    在客户端生成公钥和私钥,此处我们使用rsa作为加密方式(加密方式另外还有rsa1、ecdsa、ed25519、dsa等),使用以下命令生成密钥:
ssh-keygen -t rsa

并设置文件名和秘密(这里我们定义文件名为id_rsa),然后会在目录~/.ssh/下生成私钥文件id_rsa和公钥文件id_rsa.pub。

  1. 连接验证
    生成密钥文件以后,将公钥放置在服务器端的目录~/.ssh/authorized_keys下,然后在客户端使用私钥进行免秘密验证,连接命令:
ssh -i ~/.ssh/id_rsa username@ip

快速连接配置

在文件目录~/.ssh/下有个config文件,我们可以将上文两种连接方式中写在里面,然后直接以ssh+服务器简称的方式进行快速连接。

  1. 秘密配置
Host    server01
    HostName        192.168.1.10
    Port            22
    User            username

注释:22是ssh的默认连接端口(可变更)。配置完成以后,可以通过以下命令连接,连接时需要再次输入密码。

ssh server01
  1. 密钥配置
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它也被指出有被嗅探甚至解密的漏洞。这里我们就不做具体介绍了。

上一篇下一篇

猜你喜欢

热点阅读