您的位置:首页 > 博客中心 > 互联网 >

ssh学习小记

时间:2022-04-30 20:38

ssh 为Secure SHell 的缩写。OpenSSH: ssh协议的开源实现。

SSH协议版本

v1: 基于CRC-32做MAC,不安全;man-in-middle v2:双方主机协议选择安全的MAC方式 基于DH算法做密钥交换,基于RSA或DSA实现身份认证

OpenSSH实现的客户端,服务端

C/S架构 C: ssh, scp, sftp Windows客户端: xshell, putty, securecrt, sshsecureshellclient S: sshd

ssh客户端

客户端组件: ssh, 配置文件:/etc/ssh/ssh_config Host PATTERN StrictHostKeyChecking no 首次登录不显示检查提示命令登录格式:ssh [user@]host [COMMAND] -p port:远程服务器监听的端口 -b:指定连接的源IP -v:调试模式 -C:压缩方式 -X: 支持x11转发 -Y:支持信任x11转发 ForwardX11Trusted yes -t:  强制伪tty分配 ssh -t remoteserver1 ssh remoteserver24040允许实现对远程系统经验证地加密安全访问当用户远程连接ssh服务器时,会复制ssh服务器/etc/ssh/ssh_host*key.pub(centos7.0默认是ssh_host_ecdsa_key.pub)文件中的公钥到客户机的~./ssh/know_hosts中。下次连接时,会比较两处是否有不同。

 

基于key认证

 (1) 在客户端生成密钥对 ssh-keygen -t rsa [-P ‘‘] [-f “/root/.ssh/id_rsa"] #ssh-keygen –t rsa –P ‘’  -f “/root/.ssh/id_rsa” (2) 把公钥文件传输至远程服务器对应用户的家目录 ssh-copy-id [-i [identity_file]] [user@]host

相当于将公钥内容追加在远程服务器~/.ssh/authorized_keys 文件中,若无则创建,且权限为600 

 (3) 测试 (4) 转化为openssh兼容格式(适合SecureCRT,Xshell不需要转化格式),并复制到需登录主机上相应文件authorized_keys中,注意权限必须为600 ssh-keygen -i -f Identity.pub >> .ssh/authorized_keys (5)重设私钥口令:#ssh-keygen –p 基于key认证验证代理(authentication agent)保密解密后的密钥 ? 这样口令就只需要输入一次 ? 在GNOME中,代理被自动提供 ? 否则运行ssh-agent bash

关掉代理:ssh-agent -k 

钥匙通过命令添加给代理 ssh-add  #添加密语 ,默认文件为/root/.ssh/id_rsa 等标准文件名格式密钥

ssh-add -L #查看以代理的私钥对应的公钥 文件

ssh-add -d #删除以添加的密语

 

 

本类排行

今日推荐

热门手游