ssh配置文章

合集下载

github ssh密钥title设置原则

github ssh密钥title设置原则

github ssh密钥title设置原则在撰写文章之前,需要明确题目要求的内容——Github SSH密钥title设置原则。

本文将就该主题进行详尽论述,帮助读者了解SSH密钥title设置的原则,并提供一些实用的建议。

一、什么是SSH密钥?SSH(Secure Shell)密钥在GitHub中用于身份验证和加密通信。

用户可以生成SSH密钥对,其中包括一个公钥和一个私钥,用于建立安全的连接。

二、为什么要设置SSH密钥title?SSH密钥title是用于标识和描述SSH密钥的字段。

合理设置SSH 密钥title可以帮助我们更好地管理和使用密钥,提高工作效率。

三、SSH密钥title设置原则1. 信息清晰明了:SSH密钥title应该简洁明了,能够准确描述该密钥所属的用途或标识信息。

例如,在一个团队项目中,可以使用"项目名称-密钥用途"的格式命名,以便快速辨识。

2. 保持一致性:在整个项目或组织中,应保持SSH密钥title的一致性。

这样可以使所有成员对密钥的命名有一致的认知,方便协作和管理。

3. 不包含敏感信息:为了保护个人和组织的安全,SSH密钥title中不应包含敏感信息,如密码、用户名等。

应该避免使用过于详细的描述,以避免导致信息泄露的风险。

4. 使用关键词:可以在SSH密钥title中使用一些关键词,以便更好地描述密钥的用途。

例如,"开发环境"、"测试环境"等词语可以帮助快速了解密钥的应用场景。

5. 命名规范:为了提高可读性和管理效率,建议遵循一定的命名规范。

可以使用首字母大写、下划线分隔或者驼峰命名等方式,以适应不同场景的需求。

四、SSH密钥title设置实例1. 个人项目:a. "个人项目A-开发"b. "个人项目B-测试"c. "个人项目C-部署"2. 团队项目:a. "团队项目A-开发"b. "团队项目A-测试"c. "团队项目A-部署"3. 多环境项目:a. "项目A-开发环境"b. "项目A-测试环境"c. "项目A-生产环境"五、总结通过合理设置SSH密钥title,我们可以更好地管理和使用密钥,提高工作效率。

关于ssh连不上问题的解决方法(必看)

关于ssh连不上问题的解决方法(必看)

关于ssh连不上问题的解决⽅法(必看)问题:能ping通Linux服务器但是ssh连不上 <Linux redhat AS4 版本>解决⽅法这个问题花了我20分钟去查资料,⽹上写的解决⽅法也是五花⼋门,不过,总算解决了,分享出来和⼤家⼀起学习。

服务器正常,PING也能PING通。

但是就是SSH连不上啊,出现这种问题,最⼤的可能就是防⽕墙没有关闭。

解决⽅法:⼀、开启SSH以root⽤户登录Linux,打开终端,运⾏: /etc/init.d/sshd restrat⼆、关闭防⽕墙1、在终端运⾏ setup2、选择 firewall 回车3、按tab键切换到disablede项,然后按空格键选择,然后再按tab键切换到ok,按空格件选择4、按tab键切换到quit,按空格件选择然后⽤客户端ssh登录Linux,成功登录,呵呵 ^_^三、关闭防⽕墙的另⼀种⽅式/etc/init.d/iptables stop补充⼀个,红旗linux的某些版本,不允许root⽤户远程登陆的,需要修改设置#vi /etc/ssh/sshd_config 中PermitRootLogin no#这就不允许root⽤户远程登录,要修改成PermitRootLogin yes 并重启sshd服务才⾏的。

#service sshd restart四、对第⼀个问题的详细例⼦刚刚在虚拟上装了⼀个redhat AS5,从本地的FC9中ssh登录,发现连结失败。

ssh: connect to host 192.168.206.11 port 22: Connection refusedlost connection以为是虚拟机上的防⽕墙和selinux的问题,将这两个都关闭后,登录还是有问题,后来想想看看有没有sshd进程在运⾏,果然不出所料。

#ps -ef|grep sshroot 2774 2613 0 Dec09 ? 00:00:00 /usr/bin/ssh-agent /bin/sh -c exec -l /bin/bash -c "gnome-session"root 15899 11276 0 11:47 pts/1 00:00:00 grep ssh发现只有ssh agent进程在运⾏,ssh server进程sshd根本就没有运⾏,晕倒,怎么刚装的系统,怎么会就禁⽤了sshd服务了.呵呵,具体问题还得再研究。

PyCharm使用之配置SSHInterpreter的方法步骤

PyCharm使用之配置SSHInterpreter的方法步骤

PyCharm使⽤之配置SSHInterpreter的⽅法步骤在⽂章中,该⽂章介绍了在PyCharm中如何利⽤Docker镜像搭建Python开发环境。

在本⽂中,将会介绍如何使⽤PyCharm来配置SSH Interpreter,本⽂中的SSH Interpreter⽤Docker镜像来实现。

演⽰项⽬的结构如下图所⽰:制作带SSH服务的Docker镜像⾸先,我们先制作带SSH服务的Docker镜像,⾥⾯含有Python开发环境,Dockerfile⽂件为python_env.build,内容如下:FROM centos:7.2.1511# author labelLABEL maintainer="jclian"# install related packagesENV ENVIRONMENT DOCKER_PRODRUN cd / && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \&& yum makecache \&& yum install -y wget aclocal automake autoconf make gcc gcc-c++ python-devel mysql-devel bzip2 libffi-devel epel-release \&& yum clean all# install python 3.7.0RUN wget https:///mirrors/python/3.7.0/Python-3.7.0.tar.xz \&& tar -xvf Python-3.7.0.tar.xz -C /usr/local/ \&& rm -rf Python-3.7.0.tar.xz \&& cd /usr/local/Python-3.7.0 \&& ./configure && make && make install# 创建src⽬录COPY src /root/srcWORKDIR /root/src# install related packagesRUN pip3 install -i https:///simple/ -r requirements.txt# expose portEXPOSE 15731# install sshRUN yum -y update; yum clean allRUN yum -y install openssh-server passwd; yum clean allADD ./start.sh /start.shRUN mkdir /var/run/sshdRUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N ''RUN chmod 755 /start.shRUN /start.shENTRYPOINT ["/usr/sbin/sshd", "-D"]在这个CentOS系统中,我们配置了SSH服务,其中start.sh中含有账号名和密码,同时⼜配置了Python开发环境,start.sh⽂件的内容如下:#!/bin/bash__create_user() {# Create a user to SSH into as.useradd userSSH_USERPASS=newpassecho -e "$SSH_USERPASS\n$SSH_USERPASS" | (passwd --stdin user)echo ssh user password: $SSH_USERPASS}# Call all functions__create_userrequirements.txt的内容如下:tornado==5.1.1jieba==0.39安装的第三⽅模块为tornado和jieba。

Linux配置SSH免密登录“ssh-keygen”的基本用法

Linux配置SSH免密登录“ssh-keygen”的基本用法

Linux配置SSH免密登录“ssh-keygen”的基本⽤法⽬录1 什么是SSH2 配置SSH免密登录2.1 安装必需的软件2.2 ssh-keygen创建公钥-私钥对2.3 ssh-copy-id把A的公钥发送给B2.4 在A服务器上免密登录B服务器3 扩展说明3.2 ⽂件权限3.3 ⽂件的编辑和查看1 什么是SSH引⽤百度百科的说明:SSH 为 Secure Shell的缩写,由 IETF 的⽹络⼩组(Network Working Group)所制定;它是建⽴在应⽤层基础上的安全协议。

SSH 是⽬前较可靠,专为远程登录会话和其他⽹络服务提供安全性的协议。

利⽤ SSH 协议可以有效防⽌远程管理过程中的信息泄露问题。

SSH最初是UNIX系统上的⼀个程序,后来⼜迅速扩展到其他操作平台。

为了在不同平台/⽹络主机之间的通信安全, 很多时候我们都要通过ssh进⾏认证. ssh认证⽅式主要有2种:①基于⼝令的安全认证: 每次登录的时候都要输⼊⽤户名和密码, 由于要在⽹络上传输密码, 可能存在中间⼈攻击的风险;②基于密钥的安全认证: 配置完成后就可以实现免密登录, 这种⽅式更加安全 —— 不需要在⽹络上传递⼝令, 只需要传输⼀次公钥. 常见的git的ssh⽅式就是通过公钥进⾏认证的.2 配置SSH免密登录说明: 这⾥演⽰所⽤的服务器操作系统是Cent OS 7. 我们的⽬标是:A服务器(172.16.22.131) 能免密登录 B服务器 (172.16.22.132).注意: ssh连接是单向的, A能免密登录B, 并不能同时实现B能免密登录A.2.1 安装必需的软件在操作之前, 先确保所需要的软件已经正常安装.这⾥我们需要安装ssh-keygen和ssh-copy-id, 安装⽅式如下:# 安装ssh-keygen, 需要确保服务器可以联⽹. 博主这⾥已经安装完成, 所以没有做任何事.[root@localhost ~]# yum install -y ssh-keygenLoaded plugins: fastestmirror, langpacksbase | 3.6 kB 00:00:00epel | 3.6 kB 00:00:00extras | 2.9 kB 00:00:00updates | 2.9 kB 00:00:00Loading mirror speeds from cached hostfileNo package ssh-keygen available.Error: Nothing to do# 安装ssh-copy-id[root@localhost ~]# yum install -y ssh-copy-idLoaded plugins: fastestmirror, langpacksLoading mirror speeds from cached hostfileNo package ssh-copy-id available.Error: Nothing to do2.2 ssh-keygen创建公钥-私钥对(1) 在指定⽬录下⽣成rsa密钥, 并指定注释为“shoufeng”, 实现⽰例:[root@localhost ~]# ssh-keygen -t rsa -f ~/.ssh/id_rsa -C "shoufeng"# ~密钥类型 ~密钥⽂件路径及名称 ~ 备注信息Generating public/private rsa key pair.Enter passphrase (empty for no passphrase): # 输⼊密码, 若不输⼊则直接回车Enter same passphrase again: # 再次确认密码, 若不输⼊则直接回车Your identification has been saved in /root/.ssh/id_rsa.Your public key has been saved in /root/.ssh/id_rsa.pub.The key fingerprint is:9a:e3:94:b9:69:c8:e9:68:4b:dc:fa:43:25:7f:53:f1 shoufengThe key's randomart image is:+--[ RSA 2048]----+| || . || o || . . . E || + S. || . .. .=o || oo.oB. . || ..o=o.+ || .++oo+ |+-----------------+注意: 密钥的⽂件名称必须是id_xxx, 这⾥的xxx就是-t参数指定的密钥类型. ⽐如密钥类型是rsa, 那么密钥⽂件名就必须是id_rsa.(2) ssh-keygen常⽤参数说明:-t: 密钥类型, 可以选择 dsa | ecdsa | ed25519 | rsa;-f: 密钥⽬录位置, 默认为当前⽤户home路径下的.ssh隐藏⽬录, 也就是~/.ssh/, 同时默认密钥⽂件名以id_rsa开头. 如果是root⽤户, 则在/root/.ssh/id_rsa, 若为其他⽤户, 则在/home/username/.ssh/id_rsa; -C: 指定此密钥的备注信息, 需要配置多个免密登录时, 建议携带;-N: 指定此密钥对的密码, 如果指定此参数, 则命令执⾏过程中就不会出现交互确认密码的信息了.举例说明: 同时指定⽬录位置、密码、注释信息, 就不需要输⼊回车键即可完成创建:ssh-keygen -t rsa -f ~/.ssh/id_rsa -N shoufeng -C shoufeng(3) 前往~/.ssh/⽬录下查看⽣成的⽂件:# ⽣成的⽂件以test_rsa开头, test_rsa是私钥, test_rsa.pub是公钥:[root@localhost .ssh]# lstest_rsa test_rsa.pub# 通过cat命令查看公钥⽂件:[root@localhost .ssh]# cat id_rsa.pubssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC2JpLMqgeg9jB9ZztOCw0WMS8hdVpFxthqG1vOQTOji/cp0+8RUZl3P6NtzqfHbs0iTcY0ypIJGgx4eXyipfLvilV2bSxRINCVV73VnydVYl5gLHsrgOx+372Wovlanq7Mxq06qAONjuRD0c64xqdJFKb1Ov# 可以看到最后有⼀个注释内容shoufeng2.3 ssh-copy-id把A的公钥发送给B默认⽤法是: ssh-copy-id root@172.16.22.132, ssh-copy-id命令连接远程服务器时的默认端⼝是22, 当然可以指定⽂件、远程主机的IP、⽤户和端⼝:# 指定要拷贝的本地⽂件、远程主机的IP+⽤户名+端⼝号:[root@localhost .ssh]# ssh-copy-id -i ~/.ssh/id_rsa.pub -p 22 root@172.16.22.132/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keysroot@172.16.22.132's password: # 输⼊密码后, 将拷贝公钥Number of key(s) added: 1Now try logging into the machine, with: "ssh -p '22' 'root@172.16.22.132'"and check to make sure that only the key(s) you wanted were added.2.4 在A服务器上免密登录B服务器[root@localhost .ssh]# ssh root@172.16.22.132Last login: Fri Jun 14 08:46:04 2019 from 192.168.34.16 # 登录成功3 扩展说明3.1 其他⽅式发送公钥⽂件上述2.3步骤是通过ssh-copy-id⼯具发送公钥⽂件的, 当然我们也可以通过其他⽅式实现:(1) 将A的公钥⽂件发给B:通过scp命令将A服务器的公钥⽂件发送到B服务器的⽤户⽬录下, 因为还没有配置成功免密登录, 所以期间需要输⼊B服务器对应⽤户的密码:[root@localhost .ssh]# scp id_rsa.pub root@172.16.22.132:/root/.sshroot@172.16.22.132's password:id_rsa.pub 100% 390 0.4KB/s 00:00(2) 在B上创建authorized_keys⽂件:[root@localhost .ssh]# cd /root/.ssh/[root@localhost .ssh]# lsid_rsa.pub# 通过A服务器的公钥⽣成"authorized_keys"⽂件:[root@localhost .ssh]# cat id_rsa.pub >> authorized_keys[root@localhost .ssh]# cat authorized_keysssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC2JpLMqgeg9jB9ZztOCw0WMS8hdVpFxthqG1vOQTOji/cp0+8RUZl3P6NtzqfHbs0iTcY0ypIJGgx4eXyipfLvilV2bSxRINCVV73VnydVYl5gLHsrgOx+372Wovlanq7Mxq06qAONjuRD0c64xqdJFKb1OvS/nyKaOr9注意: 上述重定向时使⽤>>进⾏追加, 不要⽤>, 那会清空原有内容.3.2 ⽂件权限为了让私钥⽂件和公钥⽂件能够在认证中起作⽤, 需要确保权限的正确性:①对于.ssh⽬录以及其内部的公钥、私钥⽂件, 当前⽤户⾄少要有执⾏权限, 其他⽤户最多只能有执⾏权限.②不要图省事设置成777权限: 太⼤的权限不安全, ⽽且数字签名也不⽀持这种权限策略.③对普通⽤户, 建议设置成600权限: chmod 600 authorized_keys id_rsa id_rsa.pub;④对root⽤户, 建议设置成644权限: chmod 644 authorized_keys id_rsa id_rsa.pub.3.3 ⽂件的编辑和查看在Liunx环境下, 如果要查看、复制私钥、公钥, 以及authorized_keys等⽂件, 不要使⽤vim等编辑器打开, 因为它会产⽣不必要的回车;应该通过cat、more、less等查看命令把内容打印到终端上, 再作查看、复制等操作.总结以上所述是⼩编给⼤家介绍的Linux 配置SSH免密登录 “ssh-keygen”的基本⽤法 ,希望对⼤家有所帮助,如果⼤家有任何疑问请给我留⾔,⼩编会及时回复⼤家的。

关于ssh的介绍

关于ssh的介绍

关于ssh的介绍最近看到⼀篇关于介绍ssh讲得很清晰的⽂章,这⾥来记录⼀下加深⼀下印象:基本原理:SSH(Secure Shell)是⼀套协议标准,可以⽤来实现两台机器之间的安全登录以及安全的数据传送,其保证数据安全的原理是⾮对称加密。

传统的对称加密使⽤的是⼀套秘钥,数据的加密以及解密⽤的都是这⼀套秘钥,可想⽽知所有的客户端以及服务端都需要保存这套秘钥,泄露的风险很⾼,⽽⼀旦秘钥便泄露便保证不了数据安全。

⾮对称加密解决的就是这个问题,它包含两套秘钥 - 公钥以及私钥,其中公钥⽤来加密,私钥⽤来解密,并且通过公钥计算不出私钥,因此私钥谨慎保存在服务端,⽽公钥可以随便传递,即使泄露也⽆风险。

保证SSH安全性的⽅法,简单来说就是客户端和服务端各⾃⽣成⼀套私钥和公钥,并且互相交换公钥,这样每⼀条发出的数据都可以⽤对⽅的公钥来加密,对⽅收到后再⽤⾃⼰的私钥来解密。

由上⼀张图可以看出来,两台机器除了各⾃的⼀套公、私钥之外,还保存了对⽅的公钥,因此必然存在⼀个交换各⾃公钥的步骤。

⾸次建⽴连接的时候的公钥交换:建⽴连接时的公钥交换,实际上并不是简单地交换公钥,⽽是存在专门的算法,这⼀步在⾸次连接时,数据传送之前发⽣。

1. 客户端发起链接请求2. 服务端返回⾃⼰的公钥,以及⼀个会话ID(这⼀步客户端得到服务端公钥)3. 客户端⽣成密钥对4. 客户端⽤⾃⼰的公钥异或会话ID,计算出⼀个值,并⽤服务端的公钥加密5. 客户端发送加密后的值到服务端,服务端⽤私钥解密6. 服务端⽤解密后的值异或会话ID,计算出客户端的公钥(这⼀步服务端得到客户端公钥)7. ⾄此,双⽅各⾃持有三个秘钥,分别为⾃⼰的⼀对公、私钥,以及对⽅的公钥,之后的所有通讯都会被加密这⾥有⼀个有趣的地⽅,两台机器第⼀次使⽤SSH链接时,当服务端返回⾃⼰的公钥(第2步)的时候,客户端会有⼀条信息提⽰,⼤意是⽆法验证对⽅是否可信,并给出对⽅公钥的MD5编码值,问是否确定要建⽴链接。

ASA防火墙配置SSH

ASA防火墙配置SSH

网上都可以找到有关ASA防火墙配置SSH的文章,但经测试后发现都有不少问题ASA5500系列命令,我发现的软件版本7.0以上的正确配置方法如下://配置服务器端ciscoasa(config)#crypto key generate rsa modulus 1024 //指定rsa系数的大小,这个值越大,产生rsa的时间越长,cisco推荐使用1024.ciscoasa(config)#write mem //保存刚刚产生的密钥ciscoasa(config)#ssh0.0.0.0 0.0.0.0 outside //0.0.0.0 0.0.0.0表示任何外部主机都能通过SSH访问outside接口,当然你可以指定具体的主机或网络来进行访问,outside也可以改为inside即表示内部通过SSH访问防火墙ciscoasa(config)#ssh timeout 30 //设置超时时间,单位为分钟ciscoasa(config)#ssh version 1 //指定SSH版本,可以选择版本2//配置客户端ciscoasa(config)#passwd 密码//passwd命令所指定的密码为远程访问密码,同样适用于telnet所有7.0版本以上的用户名默认为pix,其它的版本我不知道。

这里可以看出ASA还有PIX的影子的,呵呵,网上说的ASA防火墙配置SSH通过命令"username 用户名password密码"来创建帐号,我测试了n次都说帐号错误.由此看出软件版本7.0上的用户名都是pix.不信大家可以试试.//相关命令show ssh //参看SSH配置信息show crypto key mypubkey rsa //查看产生的rsa密钥值crypto key zeroize //清空所有产生的密钥以上命令资料都是来自ASA5500系列防火墙官方配置指南和实际测试通过.。

华硕ssh安装插件教程

华硕ssh安装插件教程

华硕ssh安装插件教程华硕(ASUS)是一家知名的计算机硬件和电子产品制造商,其产品以卓越性能和可靠性而闻名。

而SSH(Secure Shell)是一种安全的网络协议,用于安全远程管理计算机系统。

在这篇文章中,我们将为您提供华硕路由器安装SSH插件的详细步骤和操作指南。

步骤一:准备工作在开始安装之前,确保您已经获取了华硕路由器的管理员权限。

这是安装SSH插件所必需的。

步骤二:下载SSH插件首先,我们需要下载适用于华硕路由器的SSH插件。

您可以在华硕官方网站或其他可靠的软件下载网站上找到该插件。

确保下载的插件版本与您的路由器型号和固件版本相匹配。

步骤三:登录路由器管理界面打开您的浏览器,输入路由器的IP地址,然后输入管理员用户名和密码进行登录。

在成功登录后,您将进入路由器的管理界面。

步骤四:安装SSH插件在管理界面中,找到插件管理或软件中心的选项。

这通常位于左侧或顶部导航栏中。

点击进入插件管理页面。

在插件管理页面中,您将看到一个“安装插件”或“添加插件”的按钮。

点击该按钮,然后选择您之前下载的SSH插件文件。

接下来,路由器将开始安装插件。

等待一段时间直到安装完成。

这可能需要一些时间,具体时间取决于您的路由器型号和插件文件的大小。

步骤五:配置SSH插件一旦插件安装完成,您将在插件管理页面中看到SSH插件的图标或选项。

点击该图标或选项,进入SSH插件的配置页面。

在配置页面中,您可以设置SSH插件的相关参数。

例如,您可以为SSH连接设置一个自定义端口号,也可以配置访问SSH的用户名和密码。

确保设置的信息是准确的,并且能够满足您的安全需求。

完成配置后,保存并应用更改。

步骤六:测试SSH连接完成配置后,您可以使用SSH客户端工具(如PuTTY、OpenSSH等)来测试SSH连接。

打开SSH客户端工具,输入路由器的IP地址和配置的端口号,然后点击连接。

如果一切设置正确,您将成功连接到华硕路由器,并获得远程管理权限。

putty使用密钥登陆OpenSSH配置方法(图文详解)

putty使用密钥登陆OpenSSH配置方法(图文详解)

putty使⽤密钥登陆OpenSSH配置⽅法(图⽂详解)在Windows管理Linux服务器时,常使⽤putty登陆ssh进⾏远程管理。

默认登陆验证⽅式为密码认证,该⽅式虽然简单,但每次登陆都要输⼊⼀长串的密码,相当⿇烦。

⽽且,如果万⼀把root允许登陆打开,还有可能被强⼒破解,导致严重的后果。

所以,通常建议⽤密钥登陆验证代替密码⽅式,即简单,⼜可靠。

⼀、为什么建议使⽤密钥登陆通常现在的Linux发⾏版都使⽤OpenSSH代替telnet、rsh等明⽂传输的终端服务。

以红旗 DC Server 5.0为例:# rpm -qa|grep -E -w 'openssh'openssh-clients-4.0p1-1.2AXopenssh-server-4.0p1-1.2AXopenssh-4.0p1-1.2AX⽽OpenSSH默认是同时⽀持密码和密钥两种认证⽅式的。

转⼀个说明:为什么要使⽤公钥认证通常,通过ssh登录远程服务器时,使⽤密码认证,分别输⼊⽤户名和密码,两者满⾜⼀定规则就可以登录。

但是密码认证有以下的缺点:a)⽤户⽆法设置空密码(即使系统允许空密码,也会⼗分危险)b)密码容易被⼈偷窥或猜到c)服务器上的⼀个帐户若要给多⼈使⽤,则必须让所有使⽤者都知道密码,导致密码容易泄露,⽽且修改密码时必须通知所有⼈⽽使⽤公钥认证则可以解决上述问题。

a)公钥认证允许使⽤空密码,省去每次登录都需要输⼊密码的⿇烦b)多个使⽤者可以通过各⾃的密钥登录到系统上的同⼀个⽤户c)即使修改了对应⽤户的密码,也不会影响登陆d)若同时禁⽤密码认证,则只要保证私钥的安全,不会受到暴⼒破解的威胁⼆、使⽤putty⽣成密钥和登陆根据公钥认证的原理(见后⾯说明),认证双⽅任何⼀⽅都可制作该钥匙对,并且只要认证⽅有被认证⽅的公钥信息,即可匹配成功。

这⾥,我们先以Windows上的putty登陆Linux服务器为例说明。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

看到网上有很多ssh配置文章,但是有很多是调不通的,还有版本不同,配置也不尽相同,下面是我做的ssh开发配置教程,以供参考;本文有图片,请下载附件,附件为图解教程并含有实现注册登陆功能的实例,详细清晰。

开发环境:MyEclipse6.0+Tomcat5.0+SQLServer2000配置环境:Struts2+Spring2+Hibernate3.11、首先创建Java-Web Project工程,选择J2EE 5.0版本在网上看到很多从hibernate最底层配置,但是个人感觉比较麻烦,如果你从hibernate配置的话,很容易漏掉一些东西,个人经验还是从控制层action配置;注意:在配置之前,先把Tomcat安装目录下(C:\Program Files\Apache Software Foundation\Tomcat 5.0\common\endorsed)的xml-apis.jar文件移除,再进行下面的工作,否则无法发布测试。

原来的删除的文件2、配置Struts2(1)添加Struts2架包:①commons-logging-1.0.4.jar②commons-fileupload-1.2.1.jar③freemarker-2.3.13.jar④ognl-2.6.11.jar⑤struts2-core-2.1.6.jar⑥xwork-2.1.2.jar(2)创建struts.xml文件(注意:一定要在src根目录下)代码如下:<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.1//EN""/dtds/struts-2.1.dtd"><struts><package name="struts2" extends="struts-default"></package></struts>(3)配置web.xml文件,添加Struts2的核心控制器代码如下:<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5"xmlns="/xml/ns/javaee"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/xml/ns/javaee/xml/ns/javaee/web-app_2_5.xsd"><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list><filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping></web-app>(注:org.apache.struts2.dispatcher.FilterDispatcher路径在struts-core-2.1.6.jar包下)测试发布,Struts2开发环境配置完毕。

注:每当配置完成一个开发组件时,大家tomcat发布一下,以便容易查找错误,否则全部环境配置完毕,不好查错了。

3、配置Spring2(1)添加Spring2开发架包①spring.jar②struts2-spring-plugin-2.1.6.jar(2)创建Spring配置文件applictionContext.xml,可由IDE工具实现(MyEclipse6)选中项目SSHDemo1,右击选择菜单“MyEclipse”选项,指向“Project Capabilities”,选择“Add Spring Capabilities”;选择Spring版本为Spring2,JAR Libraay Installation项选“Copy...”;点击“Next”,选择创建方式是否创建或覆盖已存在,选中“NEW”,选择applicationContext.xml文件存放路径,点击”Browse”,创建在项目WebRoot/WEB-INF路径下,点击“OK”,点击“Finish”,完成。

如果配置成功,这时我们在看一下项目中的文件就已经存在applicationContext.xml文件。

项目下面自动导入了Spring开发支持的包。

applicationContext.xml代码如下:<?xml version="1.0" encoding="UTF-8"?><beansxmlns="/schema/beans"xmlns:xsi="/2001/XMLSchema-instance"xsi:schemaLocation="/schema/beans/schema/beans/spring-beans-2.0.xsd"></beans>下一步配置web.xml文件,添加spring监听器添加以下代码即可:<listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener>(注:org.springframework.web.context.ContextLoaderListener路径在Spring.jar包下)测试发布,Spring2开发环境配置完毕。

4、配置Hibernate在此之前首先要配置一下数据库连接池,如果已有的话一下步骤就不需要了创建数据库连接池步骤如下:(我用的是SQLServer2000,如果用SQLServer2005的话,选择就可以,输入项目的名称)(1)打开DB Browser,创建数据源,配置如下:Driver template:选择“Mcrosoft SQL Server”(选择要使用的数据库类型,这里是SQL Server2000)Driver name:创建的数据源名称(自定义)Connection URL:连接数据库用到的驱动URL(或者说是数据库连接字符串)User name:数据库登录用户名Password:数据库登陆密码Driver JARS:导入连接JDBC驱动包(数据库驱动类)msbase.jarmsutil.jarmssqlserver.jarDriver classname:JDBC驱动程序(当选择Driver template时,被自动选中)如果什么都没有的的话,打开DB Browser,应该只有一个默认的连接就是MyEclipse自带的数据库,“MyEclipse Derby”右击,选择“New”打开新建数据源驱动连接“Database Driver”SQLServer2000如下配置:这里Driver Name的名字取得的he Driver Classname相同,便于理解,点击“Finish”完成。

(2)创建完成之后,打开“Open...”,测试连接。

如果出现类似“不能连接Connection URL:1433”,需要做一下工作:检验MS SQL Server的sp3(sp4)补丁是否安装?是否启动SQL Server数据库服务器在dos界面中输入:telnet localhost 1433如果显示:正在连接到localhost...不能打开到主机的连接,在端口1433: 连接失败。

说明sp3(sp4)补丁没有安装。

要安装sp3(sp4)补丁。

安装好之后,此时服务器自动停止,手动启动服务器,测试连接通过。

数据库连接池配置完毕,开始添加hibernate支持,如上:选择菜单“MyEclipse”选项,指向“Project Capabilities”;选择“Add Hibernate Capabilities”;选择Hibernate版本为Hibernate3.1;JAR Libraay Installation项选“Copy...”;点击“Next”,点击“Next”,在“Hibernate Configueration”中,选中“Spring configuration file(applicationContext.xml)”;使用spring中的applicationContext.xml文件来管理hibernateBean点击“Next”,选中“Exiting Spring Contfiguration file”,在“SessionFactory ID”选项中输入“sessionFactory”;点击“Next”,配置数据源,在“Bean Id”中输入dataSource选中use JDBC DriverDB Driver中选择数据库的一个连接,此处即是我们上面建立的Driver Name名字,选择它即可。

(此数据库的连接可以打开myeclipse中的DB Browser视图进行创建);点“Next”,取消选中的Create SessionFactory class选项,点击完成。

此时会在applicationContext.xml文件中生成对应的驱动及数据源信息,如下:<bean id="dataSource"class="mons.dbcp.BasicDataSource"><property name="driverClassName"value="com.microsoft.jdbc.sqlserver.SQLServerDriver"></property><property name="url"value="jdbc:microsoft:sqlserver://localhost:1433"></property><property name="username" value="sa"></property><property name="password" value="sa"></property></bean><bean id="sessionFactory"class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"><property name="dataSource"><ref bean="dataSource" /></property><property name="hibernateProperties"><props><prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop></props></property>4、此时会在“applicationContext.xml”文件中报错,class="mons.dbcp.BasicDataSource">这个类找不到,可选中项目,右键选择属性,选中“java build path”,选择”Libraries”,点击“add library”按钮,选中“ MyEclipse Libraries”,点击“下一步” ;选择“Spring 2.0 Persistence JDBC Libraries”,此时系统会自动的选中其它的选项,点击”Finish”,点击”OK”;此时错误就会消失。

相关文档
最新文档