ssh远程链接的原理及方法
telnet :远程登录 23/tcp端口,默认
C/S架构类型
S:Telnet服务器 C/telnet 客户端
命令都是明文发送,不安全,现在已经很少使用
ssh:secure SHell , 应用层协议,22/tcp
通信的过程中都是通过加密的:服务器会发送主机秘钥
服务器有私钥:secret key
客户端有公钥:public key
秘钥交换
用户认证过程中加密,数据传输过程加密
ssh v1 v2
认证过程:基于口令认证
基于秘钥认证
协议:一种规范
实现:服务器端、客户端
linux :openssh
C/S
服务器端:sshd:配置文件/etc/ssh/sshd_config
客户端:ssh,配置文件/etc/ssh/ssh_config
ssh_keygen :秘钥生成器
ssh_copy-id :将公钥传输至远程服务器
scp:跨主机安全复制工具包
ssh:
shh username@host
ssh -l usrename host
ssh username@host 'command' 只执行服务器的命令,但是没有登录服务器
scp :
scp src DEST
scp username@host:/path/to/file /path/file 从服务器到本地数据的复制
scp /path/to/file username@host:/path/to/file
ssh-keygen 生成秘钥
-t rsa 加密方式是rsa
私钥的的路径./.ssh/id_rsa
公钥的路径 /.ssh/id_rsa.pub
公钥追加保存到远程主机某用户端家目录下 的.ssh/authorized_keys文件或.ssh/authorized_keys2文件中
ssh-copy-id -i file username@host可以直接将公钥复制到服务器
dropbear:嵌入式系统专用的ssh服务器端和客户端工具
服务器端:dropbear
drop
客户端:dbclient
本文转自:程序员鼓励师