ssh:
secure shell, protocol, 22/tcp, 安全的远程登录
具体的软件实现:
OpenSSH: ssh协议的开源实现,CentOS默认安装
dropbear:另一个开源实现
SSH协议版本
v1: 基于CRC-32做MAC,不安全;man-in-middle
v2:双方主机协议选择安全的MAC方式
基于DH算法做密钥交换,基于RSA或DSA实现身份认证
两种方式的用户登录认证:
基于password
基于key
Openssh软件组成
相关包:
openssh
openssh-clients
openssh-server
工具:
基于C/S结构
Linux Client:
ssh, scp, sftp,slogin
Windows Client:
xshell, putty, securecrt, sshsecureshellclient
Server:
sshd
ssh客户端
配置文件:/etc/ssh/ssh_config
StrictHostKeyChecking no 首次登录不显示检查提示
格式:ssh [user@]host [COMMAND]
ssh [-l user] host [COMMAND]
常见选项
-p port:远程服务器监听的端口
-b:指定连接的源IP
-v:调试模式
-C:压缩方式
-X:支持x11转发
-t:强制伪tty分配
ssh -t remoteserver1 ssh -t remoteserver2 ssh remoteserver3。注意使用场景。例如某个公司有ABCD四台主机,配置以下策略,只允许A连B,B连C,C连D。当要连接D主机时,此时可以使用-t选项。ssh -t A ssh -t B ssh -t C ssh D。
注意:
当用户远程连接ssh服务器时,会复制ssh服务器/etc/ssh/ssh_host*key.pub(CentOS7默认是ssh_host_ecdsa_key.pub)文件中的公钥到客户机的~./ssh/know_hosts中。下次连接时,会自动匹配相应私钥,不能匹配,将拒绝连接。如下图