ssh服务器搭建过程
1. 【linux】SSH 使用密码/公钥远程登录总结
本文是笔者查阅网上资料做的总结,关于SSH原理,什么是对称加密和非对称加密,本文不过多介绍。这里介绍一下SHH的工作过程、配制方法,可能出现的问题及解决方法。
说明:本文中涉及的例子,SSH客户端为:本地主机A,SSH服务器为:服务器B
SSH协议采用C-S(客户端-服务器端)架构进行双方的身份验证以及数据的加密。
服务器端组件监听指定的端口,负责安全连接的建立、对连接方的身份认证、以及为通过身份认证的用户建立正确的环境。
客户端负责发起最初的TCP握手、安全连接的建立、验证服务器的身份与之前记录中的一致、并将自己的验证信息提供给服务器。
一个SSH会话的建立过程分为两个阶段。第一阶段,双方沟通并同意建立一个加密连接通道以供后续信息传输用。第二阶段,对请求接入的用户进行身份验证以确定服务器端是否要给该用户开放访问权限。
当客户端发起TCP连接时,服务器端返回信息说明自己支持的协议版本,如果客户端上支持的协议与之匹配,则连接继续。服务器会提供自己的公共主机密钥(public host key)以让客户端确认自己访问的是正确的机器。
然后,双方采用一种Diffie-Hellman算法共同为该会话建立密钥。每一方的一部分私有数据,加上来自对方的一部分公共数据,通过这种算法计算,能够得出完全相同的密钥用于本次会话。
整个会话的通讯内容都使用该密钥进行加密。这个阶段使用的公钥/私钥对与用户验证身份用的SSH密钥是完全无关的。
经典Diffie-Hellman算法的计算步骤如下:
这个共享密钥的加密方式被称为二进制数据包协议(binary packet protocol)。该过程能够让双方平等的参与密钥生成的过程,而不是由单方掌握。这种共享密钥生成的过程是安全的,双方没有交换过任何未经加密的信息。
生成的密钥是对称式密钥,一方用于加密信息的密钥等同于另一方用于解密信息的密钥,而任何第三方由于不持有该密钥,是无法解密双方传递的内容的。
会话加密通道建立后,SSH开始进入用户认证阶段。
下一步,服务器验证用户身份以决定是否准许其访问。验证有不同的方式,选择的验证方式取决于服务器的支持。
最简单的验证是密码验证:服务器要求客户端输入密码,客户端输入的密码经过上述的通道加密传输给服务器。
虽然密码是加密过的,然而该方法仍然不被推荐,因为用户经常为了省事而使用过于简单的密码,而这类密码很容易就能够被自动化脚本破解。
最流行的验证方式是SSH密钥对,这也是当前最推荐的方式。SSH密钥对是非对称密钥,私钥和公钥分别用于不同的功能。
公钥用于加密,而私钥用于解密。公钥可以随意上传、共享,因为公钥的流通并不会危及到私钥的保密性。
SSH密钥对的验证过程起始于上一部分加密通道建立之后,其具体执行步骤如下:
简单来说,服务器端用公钥加密信息,客户端用私钥解密信息以证明自己持有私钥。该过程同时使用了对称加密和非对称加密,两种方式各有自己的功用。
命令如下:
用户名:为要登录的服务器B中已存在的用户账户名
IP地址:为服务器B的IP地址
-p 端口号:用来指定端口号,默认为22
第一次登录时,会提示如下提示:
大概意思是说,你正在访问的主机不能验证它的真实性,它的RSA key(当前访问主机的公钥)指纹是怎样的,你确定要继续连接吗?
输入yes继续,会提示,已永久把当前访问主机的RSA key添加到了已知主机文件(用户目录下,.ssh 文件夹中的knwon_hosts文件)中。之后再次 SSH 登录就不再有该提示了。
接着,输入登录账户的密码即可。
SSH 密码登录,需要服务器开启密码验证权限,编辑服务器SSH配置命令如下:
在 sshd_config 文件中,Protocol 2 下面 #PasswordAuthentication yes,将前面的#号去掉,保存退出。
公钥登录,即免密码登录。避免的每次登录都要输入的麻烦,也防止了中间人攻击。是SSH远程登录最常用的登录方式。
提示输入密钥对名称,直接回车,使用默认名称即可;
提示输入密码(使用私钥时,要输入密码),直接回车,不使用密码即可。
首先,登录服务器B,在进行下面的操作。
找到 #PubkeyAuthentication yes,删除 #号,保存退出。
重启 ssh 服务
也可指定验证私钥:
本地主机A,生成密钥对后:
sudo vim /etc/selinux/config
2. 如何给服务器架设 SSH
win server 想用SSH做代理很难实现,网上有很多教程说下载winsshd呀啥的,但是经过本人实际测试,都不能用,能连上,但是无法上网,SSH这东西的鼻祖就是Linux,所以要把SSH移到win平台上的话,就算成功了,也会非常不稳定,所以建议使用Linux系统。
3. 怎么在linux上搭建SSH服务器,并在win7上链接
不用搭建,默认已经有了。但你要先确认防火墙没有阻止ssh服务(22号端口)。在win7上面装一个Xmanager(或者putty),设置linux机子的ip以及你在linux上的用户名和密码,就可以登录了。
4. 局域网如何架设SSH服务器
在服务器端的“命令提示符”窗口中,输入“net start ″F-secure SSH Server″”命令,就可以启动SSH服务,要停止该服务,输入“net stop ″F-Secure SSH Server″”命令即可。其中“F-Secure SSH Server”为SSH服务器名,“net start”和“net stop”为Windows系统启动和停止系统服务所使用的命令。
提示:启动了SSH服务后,一定要关闭Telnet服务,这样服务器就处在安全环境之中了,不用再怕数据被窃取。
三、合理设置SSH服务器参数
启动SSH服务后,网络管理员就可以远程登录服务器进行维护了。但是每个局域网使用SSH服务的需求是不同的,因此默认的服务参数未必能满足需要,那么我们就可以自行设置这些参数。
1.基本参数设置
运行“fsshconf.exe”服务配置程序,在弹出的“F-Secure SSH Server Configuration”窗口左栏中,依次选择“Server Settings→General”,然后在右边的“General”框体中就可以对参数进行设置了(图2)。
图2 在SSH服务器配置窗口中选择常规设置项
在“Maximum number of connections”栏中输入合适的数值,对连接到SSH服务器的最大用户数进行限制,在这里我们可根据需要进行设置,如输入“50”,则只允许50个用户同时连接SSH服务器。
“Idle timeout”是用户远程登录的超时时间设置,默认为“0”,就是不进行登录超时限制。
大家可能还记得FTP服务器的个性化的登录信息,SSH服务器也一样可以做到。首先编写一个登录信息文本文件保存在文件夹中,然后点击“Banner message file”栏的浏览按钮,指定已编写好的文本文件即可,这样用户远程登录时就能看到这些个性化的信息了。最后,大家一定要记住点击“Apply”按钮保存参数设置。2.网络参数设置
在“F-Secure SSH Server Configuration”窗口左栏中点击“Network”选项(图3),SSH服务器默认使用的是“22”端口,当然也可以自定义端口号(注意,SSH服务器使用的端口号一定不能和服务器上别的程序的端口号冲突)。在“Port”栏中输入想使用的端口号即可,其他的参数设置建议使用默认值。
5. 如何搭建一个SSH项目,用TOMCAT做服务器,使用Eclipse(运行环境已经做好~)
第一步:打开eclipse
第二步:搭建好SSH项目
第三步:启动
完毕
*********************
呵呵,偶就是不想好好回答,最鄙视楼主这样的人咯
都还没搞明白什么是SSH,就想做SSH项目
如果你搞明白了什么是SSH,也不会问这样的问题
一看就是那种走都还不会,就想跑的人哟,瞎追风
6. linux下如何搭建ssh服务器
一般发行版默认安装、开启。
没装的话使用自带的包管理器装openssh,然后/etc/init.d/sshd start,这个是最简单的
然后本地用户即可登陆
其他设置依照发行版会有些变化。
7. 新手如何搭建ssh架构
最近复习了下SSH框架的搭建
一:myeclipse搭建
1.添加spring支持。
在项目里右键点击
MyEclipse--AddSpring...--把AOPCoreWeb三个libraries复选上。下一步完成。
2.添加hibernate支持。
首先先打开myeclipsehibernate视图建立一个数据库连接。根据不同的数据驱动建立不同的数据库连接。
MyEclipse--AddHibernate...--根据需要一步步完成。
3.添加struts支持。
然后在web.xml文件里
context-param
param-namecontexConfigLocation/param-name
param-value/WEB-INF/applicationContext.xml/param-value
/context-param
listener
listener-classorg.springframework.web.context.ContextLoaderListener/listener-class
/listener
再在struts-config.xml中
controller
processorClass=org.springframework.web.struts.DelegatingRequestProcessor
/controller
这个时候加载项目会报一个确实pool包的错误。然后到构建路径里去添加起来。
这时候框架基本搭建好了。
eclipse搭建SSH步骤
1.导入驱动包。。struts、spring、hibernate的包和数据库连接的驱动包。
2.配置xml文件。。
3.添加struts-config.xml文件其中涉及到引用dtd文件
4.添加applicationContext.xml文件胚子该文件。。(1.连接。2sessionfactory3,假如连接字符是写在属性文件里,还要配
属性文件连接的bean)
5.实体映射用到hibernate的插件。(注意表得有主键,不然生成的xml文件有错。)
6.写类biz类action等
7写JSP文件。
用eclipse搭建主要得熟悉3个配置文件的配置。(web.xml、struts-config.xml、applicationContext.xml)
可能不全,你可以再一下,可能会有图文的帮助
不好意思,以上,希望能对你有所帮助
8. 如何搭建SSH代理服务器
服务器端: 只要运行sshd就可以了,不需要特别的设置。
客户端:
ssh -fND localhost:{port} {uname}@{server-addr},这条命令让ssh监听localhost上的{port}端口,并把收到的访问请求转发给{server-addr}
curl -v --socks5 localhost:{port} "http://www..com",注意用ssh搭建的代理是socks代理,不是http代理。如果尝试用http代理的方式使用ssh搭建的代理,保证会让你很郁闷!
也可以在Firefox里面使用socks代理。