文章目录
远程互访: OpenSSH
1. 使用 SSH 访问远程命令行
–
1.1 OpenSSH 简介
OpenSSH这一术语指系统中使用的Secure Shell软件的软件实施。用于在远程系统上安全运行shell。如果您在可提供ssh服务的远程Linux系统中拥有用户帐户,则ssh是通常用来远程登录到该系统的命令。ssh命令也可用于在远程系统中运行命令。
常见的远程登录工具有:
telnet
ssh
dropbear
telnet //远程登录协议,23/TCP
认证明文
数据传输明文
ssh //Secure SHell,应用层协议,22/TCP(默认为22)
[d:\~]$ telnet 192.168.116.128 22
Connecting to 192.168.116.128:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.
SSH-2.0-OpenSSH_7.4
(上面代表192.168.116.128 22处于监听状态,22号端口可以使用)
通信过程及认证过程是加密的,主机认证
用户认证过程加密
数据传输过程加密
dropbear //嵌入式系统专用的SSH服务器端和客户端工具
systomctl stop postfix (停掉25号端口)
1.2 SSH 版本
openssh有两个版本,分别为v1和v2,其特点如下:
v1:基于CRC-32做MAC,无法防范中间人(man-in-middle)**
v2:双方主机协议选择安全的MAC方式。基于DH算法做密钥交换,基于RSA或DSA算法实现身份认证
1.3 SSH 认证方式
openssh有两种认证方式,分别是:
基于口令认证
基于密钥认证
1.4.查看ssh是否安装(ssh不需要安装)
[root@yeqixian1 ~]# rpm -qa|grep ssh
openssh-server-7.4p1-16.el7.x86_64
openssh-clients-7.4p1-16.el7.x86_64
libssh2-1.4.3-10.el7_2.1.x86_64
openssh-7.4p1-16.el7.x86_64
1.5 openSSH 的工作模式
openSSH是基于C/S架构工作的。
服务器端 //sshd,配置文件在/etc/ssh/sshd_config
客户端 //ssh,配置文件在/etc/ssh/ssh_config
ssh-keygen //密钥生成器
ssh-copy-id //将公钥传输至远程服务器
scp //跨主机安全复制工具
ssh_host_算法_key(.pub(公钥))
[root@yeqixian1 ~]# ls /etc/ssh
moduli ssh_host_ecdsa_key ssh_host_ed25519_key.pub
ssh_config ssh_host_ecdsa_key.pub ssh_host_rsa_key
sshd_config ssh_host_ed25519_key ssh_host_rsa_key.pub
1.6 私钥登录与登出
[root@yeqixian1 ~]# ssh 192.168.116.128(这个将登录的用户为192.168.116.128的xxx@yeqixian1 ~的xxx)
The authenticity of host '192.168.116.128 (192.168.116.128)' can't be established.
ECDSA key fingerprint is SHA256:SoSAEtkvfLn3CxW/ndYTq7qXl2zLrZCLncFsgSppjMY.
ECDSA key fingerprint is MD5:2d:50