ssh学习小记

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 [[email protected]]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]] [[email protected]]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 #删除以添加的密语

时间: 2024-12-22 20:15:02

ssh学习小记的相关文章

git 学习小记之记住https方式推送密码

昨天刚刚学了点git基础操作,但是不幸的是[email protected]给出公告说尽量使用 https 进行操作.可是在用 https 进行 push 时,都需要输入帐号和密码. 各种百度谷歌之后在[email protected]官网找到了解决方法<https方式使用[email protected]设置密码的方式>文中给出了几个方法,并且都非常简单. 关于 cache 缓存方式,我不太喜欢,因为要设置时间,而且会过期.而 store 相应的非常方便,设置全局后,方便多个库使用.当然如果

linux学习小记 (一 )

shell 学习小记: 注意:多看系统脚本  多模仿    su切换用户时需要输入目标用户密码,root(superuser)切换到任何用户都不需要输入密码,- 参数必须要是最后一个(su huhu -) sudo需要输入当前用户密码,拥有sudo特权的用户可以执行 "sudo su -"命令,使用自己的密码切换到root用户 , 所以应该在/etc/sudoers 文件中禁止 sudo 执行su命令 linux文件与颜色: /etc/DIR_COLORS   (命令dircolors

SSH学习之二 OpenSSH配置文件解析

下面是对SSH配置文件的一些选项的分解说明,ssh_config是OpenSSH客户端的配置文件,sshd_config是OpenSSH服务器端的配置文件. ssh_config的内容如下: # This is the ssh client system-wide configuration file.  See ssh_config(5) for more information.  This file provides defaults for users, and the values c

SSH学习笔记

一.Struts        在没有学习SSH框架前,我们一般采用Jsp+java bean+servlet开发,这里就是MVC架构.而Struts其实就是替代了Servlet,我们知道Servlet在一般的开发中做控制页面跳转,同时调用系统的业务逻辑层.现在想想Struts是不是做一样的是?只是它能够更加的提高开发速度.我们Servlet开发时,是要创建一个Servlet其实就是继承了HttpServlet这个类.而现在Struts里面的Action也要集成一个ActionSupport类.

SSH学习之四 OpenSSH安全

OpenSSH是Linux/Unix下一款加密通讯软件,同时也是我们用来远程控制Linux/Unix服务器重要的必装软件.对于各版本的Linux及Unix发行版而言,OpenSSH的配置文件位置都各不一样.如Ubuntu下OpenSSH配置文件就在/etc/ssh/sshd_config. OpenSSH安全选项: Port 22 // OpenSSH打开的端口号 LoginGraceTime 120 // 客户端连接服务器成功后多少秒未登陆就被强制关闭连接 PermitRootLogin ye

logstash 学习小记

logstash 学习小记 标签(空格分隔): 日志收集 Introduce Logstash is a tool for managing events and logs. You can use it to collect logs, parse them, and store them for later use (like, for searching). – http://logstash.net 自从2013年logstash被ES公司收购之后,ELK stask正式称为官方用语.非

js 正则学习小记之匹配字符串优化篇

昨天在<js 正则学习小记之匹配字符串>谈到 /"(?:\\.|[^"])*"/ 是个不错的表达式,因为可以满足我们的要求,所以这个表达式可用,但不一定是最好的.从性能上来说,他非常糟糕,为什么这么说呢,因为 传统型NFA引擎 遇到分支是从左往右匹配的,所以它会用 \\. 去匹配每一个字符,发现不对后才用 [^"] 去匹配.比如这样一个字符串: "123456\'78\"90"共 16 个字符,除了第一个 " 直接

js 正则学习小记之匹配字符串

原文:js 正则学习小记之匹配字符串 今天看了第5章几个例子,有点收获,记录下来当作回顾也当作分享. 关于匹配字符串问题,有很多种类型,今天讨论 js 代码里的字符串匹配.(因为我想学完之后写个语法高亮练手,所以用js代码当作例子) var str1 = "我是字符串1哦,快把我取走", str2 = "我是字符串2哦,快把我取走"; 比如这样一个字符串,匹配起来很简单 /"[^"]*"/g 即可. PS: 白色截图是 chrome 3

git 学习小记之图形化界面客户端

习惯了 Windows 的用户,一直不喜欢用类似命令行的东西来操作,当然我也不是不喜欢,只是操作太慢了.也许 Linux 大神在命令行的帮助下,办事效率翻倍,那也是非常常见的事情..当然我不是大神,所以还是得选择一个合适的工具才行. 其实相信大家也是一样,简单学习之后,直接就上工具了..我找到一篇不错的文章<Git图形化界面客户端大汇总>里面介绍了 11 款 git 工具,而且有截图和简单描述,貌似作者按喜好排序的. 我下载了前三个测试了下.TortoiseGit 差不多直接上手,因为我用的