当前位置:文档之家› ssh 精简指南

ssh 精简指南

ssh 精简指南
ssh 精简指南

概述

许多网络程序,如telnet、rsh、rlogin或rexec,用明文(plain text)传送口令和秘密的信息,所以就可利用任何连接到网络上的计算机监听这些程序和服务器之间的通信并获取口令和秘密信息。现在,telnet程序对于日常的管理工作是必不可少的,但是它又是不安全的,那么用什么来替代它呢?OpenSSH就是那些过时的、不安全的远程登录程序,如:telnet、rlogin、rsh、rdist或rcp的替代品。

在OpenSSH的README文件中提到:ssh(Secure Shell)程序可以通过网络登录到远程主机并执行命令。它提供了很强的安全验证可以在不安全的网络中进行安全的通信。

我们把OpenSSH配置成支持TCP-Wrappers(inetd超级服务器),这样能够进一步地提高安全性而且也没有必要把OpenSSH作为守护进程(daemon)在后台运行。当客户端的程序提出连接请求的时候,TCP-Wrappers守护进程就会在把连接重定向到OpenSSH之前,对连接请求进行验证和授权。OpenSSH是自由软件而且使用不受专利保护的加密算法。因此,我建议你使用OpenSSH(免费而且修正了一些bug),而不使用SSH1(免费但是有bug)和SSH2(现在使用商用的许可协议)。

注意事项

下面所有的命令都是Unix兼容的命令。

源路径都为“/var/tmp”(当然在实际情况中也可以用其它路径)。

安装在RedHat Linux 6.1和6.2下测试通过。

要用“root”用户进行安装。

OpenSSH的版本是1.2.3。

软件包的来源

OpenSSH的主页:https://www.doczj.com/doc/7c14696886.html,.au/openssh/。

下载:openssh-1.2.3.tar.gz。

准备工作

编译OpenSSH需要zlib-devel软件包,这个软件包包括头文件和函数库。编译使用zlib的压缩和解压函数的程序,就要事先安装这个软件包。可以用RedHat 6.1或6.2的光盘安

装。

l 用下面的命令验证一下在系统中是否已经安装了zlib-devel软件包:

[root@deep /]# rpm -qi zlib-devel

l 用下面命令在系统中安装zlib-devel软件包:

[root@deep /]# mount /dev/cdrom /mnt/cdrom/

[root@deep /]# cd /mnt/cdrom/RedHat/RPMS/

[root@deep RPMS]# rpm -Uvh zlib-devel-version.i386.rpm

gd ##################################################

[root@deep RPMS]# rpm -Uvh gd-devel-version.i386.rpm

zlib-devel ##################################################

[root@deep RPMS]# cd /; umount /mnt/cdrom/

在使用OpenSSH之前,还必须安装OpenSSL。因为就算你不使用OpenSSL创建或保存加密文件,OpenSSH需要用OpenSSL的库文件才能正常运行。

安装软件包需要注意的问题

最好在编译前和编译后都做一张系统中所有文件的列表,然后用“diff”命令去比较它们,找

出其中的差别并知道到底把软件安装在哪里。只要简单地在编译之前运行一下命令“find

/* >OpenSSH1”,在编译和安装完软件之后运行命令“find /* > OpenSSH2”,最后用命令“diff OpenSSH1 OpenSSH2 > OpenSSH-Installed”找出变化。

编译和安装

把软件包(tar.gz)解压:

[root@deep /]# cp openssh-version.tar.gz /var/tmp

[root@deep /]# cd /var/tmp

[root@deep tmp]# tar xzpf openssh-version.tar.gz

编译和优化

第一步

转到OpenSSH的新目录下,先设置编译器的编译参数:

CC="egcs" \

CFLAGS="-O9 -funroll-loops -ffast-math -malign-double -mcpu=pentiumpro -march=pentiumpro -fomit-frame-

pointer -fno-exceptions" \

./configure \

--prefix=/usr \

--sysconfdir=/etc/ssh \

--with-tcp-wrappers \

--with-ipv4-default \

--with-ssl-dir=/usr/include/openssl

这些设置告诉编译器如何编译OpenSSH:

l 链接上libwrap函数库并且加上对TCP Wrappers的支持

l 禁止Linux/glibc-2.1.2中域名解析的延时,缩短建立连接的时间

l 设置OpenSSL函数库的路径,这样OpenSSH才能正常运行

第二步

现在,编译和安装OpenSSH:

[root@deep openssh-1.2.3]# make

[root@deep openssh-1.2.3]# make install

[root@deep openssh-1.2.3]# make host-key

[root@deep openssh-1.2.3]# install -m644 contrib/redhat/sshd.pam

/etc/pam.d/sshd

“make”命令把源文件编译成可执行的二进制文件,“make install”把二进制文件和配置文件安装在合适的目录下。“make host-key”生成主机密匙,“install”命令在RedHat Linux上安装对OpenSSH的PAM支持。

清除不必要的文件

用下面的命令删除不必要的文件:

[root@deep /]# cd /var/tmp

[root@deep tmp]# rm -rf openssh-version/ openssh-version.tar.gz

“rm”命令删除所有编译和安装OpenSSH所需要的源程序,并且把OpenSSH软件的压缩包删除掉。

配置

可以到这去下载“floppy.tgz”文件:https://www.doczj.com/doc/7c14696886.html,/books/floppy.tgz。把“floppy.tgz”文件解开之后,可以在相应的目录下发现我们在这本书中介绍的所有软件的配置文件。这样就没有必要手工重新生成这些文件,或者用拷贝粘贴的方法把它们粘贴到配置文件中去。不管是打算自己动手生成配置文件还是拷贝现成的,你都要学会自己修改配置文件并且把配置文件拷贝到正确的目录下。下面将具体说明。

为了运行OpenSSH,必须创建或者把下面的文件拷贝到相应的目录下:

l 把“sshd_config”文件拷贝到“/etc/ssh”目录下

l 把“ssh_config”文件拷贝到“/etc/ssh”目录下

l 把“ssh”文件拷贝到“/etc/pam.d/”目录下

可以把“floppy.tgz”解压之后,找到上面列出来的文件,并拷贝到合适的目录下,或者用拷贝粘贴的方法从本书中直接粘贴出。

配置“/etc/ssh/ssh_config”文件

“/etc/ssh/ssh_config”文件是OpenSSH系统范围的配置文件,允许你通过设置不同的选项来改变客户端程序的运行方式。这个文件的每一行包含“关键词-值”的匹配,其中“关键词”是忽略大小写的。下面列出来的是最重要的关键词,用man命令查看帮助页(ssh (1))可以得到详细的列表。

编辑“ssh_config”文件(vi /etc/ssh/ssh_config),添加或改变下面的参数:

# Site-wide defaults for various options

Host *

ForwardAgent no

ForwardX11 no

RhostsAuthentication no

RhostsRSAAuthentication no

RSAAuthentication yes

PasswordAuthentication yes

FallBackToRsh no

UseRsh no

BatchMode no

CheckHostIP yes

StrictHostKeyChecking no

IdentityFile ~/.ssh/identity

Port 22

Cipher blowfish

EscapeChar ~

下面逐行说明上面的选项设置:

Host *

选项“Host”只对能够匹配后面字串的计算机有效。“*”表示所有的计算机。ForwardAgent no

“ForwardAgent”设置连接是否经过验证代理(如果存在)转发给远程计算机。

ForwardX11 no

“ForwardX11”设置X11连接是否被自动重定向到安全的通道和显示集(DISPLAY

set)。

RhostsAuthentication no

“RhostsAuthentication”设置是否使用基于rhosts的安全验证。RhostsRSAAuthentication no

“RhostsRSAAuthentication”设置是否使用用RSA算法的基于rhosts的安全验证。RSAAuthentication yes

“RSAAuthentication”设置是否使用RSA算法进行安全验证。

PasswordAuthentication yes

“PasswordAuthentication”设置是否使用口令验证。

FallBackToRsh no

“FallBackToRsh”设置如果用ssh连接出现错误是否自动使用rsh。

UseRsh no

“UseRsh”设置是否在这台计算机上使用“rlogin/rsh”。

BatchMode no

“BatchMode”如果设为“yes”,passphrase/password(交互式输入口令)的提示将被禁止。当不能交互式输入口令的时候,这个选项对脚本文件和批处理任务十分有用。CheckHostIP yes

“CheckHostIP”设置ssh是否查看连接到服务器的主机的IP地址以防止DNS欺骗。建议设置为“yes”。

StrictHostKeyChecking no

“StrictHostKeyChecking”如果设置成“yes”,ssh就不会自动把计算机的密匙加入“$HOME/.ssh/known_hosts”文件,并且一旦计算机的密匙发生了变化,就拒绝连接。IdentityFile ~/.ssh/identity

“IdentityFile”设置从哪个文件读取用户的RSA安全验证标识。

Port 22

“Port”设置连接到远程主机的端口。

Cipher blowfish

“Cipher”设置加密用的密码。

EscapeChar ~

“EscapeChar”设置escape字符。

配置“/etc/ssh/sshd_config”文件

“/etc/ssh/sshd_config”是OpenSSH的配置文件,允许设置选项改变这个daemon的运行。这个文件的每一行包含“关键词-值”的匹配,其中“关键词”是忽略大小写的。下面列出来的是最重要的关键词,用man命令查看帮助页(sshd(8))可以得到详细的列表。

编辑“sshd_config”文件(vi/etc/ssh/sshd_config),加入或改变下面的参数:

#This is ssh server systemwide configuration file.

Port22

ListenAddress192.168.1.1

HostKey/etc/ssh/ssh_host_key

ServerKeyBits1024

LoginGraceTime600 KeyRegenerationInterval3600 PermitRootLogin no

IgnoreRhosts yes

IgnoreUserKnownHosts yes

StrictModes yes

X11Forwarding no

PrintMotd yes

SyslogFacility AUTH

LogLevel INFO

RhostsAuthentication no RhostsRSAAuthentication no RSAAuthentication yes PasswordAuthentication yes PermitEmptyPasswords no

AllowUsers admin

下面逐行说明上面的选项设置:

Port22

“Port”设置sshd监听的端口号。ListenAddress192.168.1.1“ListenAddress”设置sshd服务器绑定的IP地址。HostKey/etc/ssh/ssh_host_key

“HostKey”设置包含计算机私人密匙的文件。

ServerKeyBits1024

“ServerKeyBits”定义服务器密匙的位数。

LoginGraceTime600

“LoginGraceTime”设置如果用户不能成功登录,在切断连接之前服务器需要等待的时间(以秒为单位)。

KeyRegenerationInterval3600

“KeyRegenerationInterval”设置在多少秒之后自动重新生成服务器的密匙(如果使用密匙)。重新生成密匙是为了防止用盗用的密匙解密被截获的信息。

PermitRootLogin no

“PermitRootLogin”设置root能不能用ssh登录。这个选项一定不要设成“yes”。

IgnoreRhosts yes

“IgnoreRhosts”设置验证的时候是否使用“rhosts”和“shosts”文件。

IgnoreUserKnownHosts yes

“IgnoreUserKnownHosts”设置ssh daemon是否在进行RhostsRSAAuthentication安全验证的时候忽略用户的“$HOME/.ssh/known_hosts”

StrictModes yes

“StrictModes”设置ssh在接收登录请求之前是否检查用户家目录和rhosts文件的权限和所有权。这通常是必要的,因为新手经常会把自己的目录和文件设成任何人都有写权限。

X11Forwarding no

“X11Forwarding”设置是否允许X11转发。

PrintMotd yes

“PrintMotd”设置sshd是否在用户登录的时候显示“/etc/motd”中的信息。

SyslogFacility AUTH

“SyslogFacility”设置在记录来自sshd的消息的时候,是否给出“facility code”。

LogLevel INFO

“LogLevel”设置记录sshd日志消息的层次。INFO是一个好的选择。查看sshd的man帮助页,已获取更多的信息。

RhostsAuthentication no

“RhostsAuthentication”设置只用rhosts或“/etc/hosts.equiv”进行安全验证是否已经足够了。

RhostsRSAAuthentication no

“RhostsRSA”设置是否允许用rhosts或“/etc/hosts.equiv”加上RSA进行安全验证。

RSAAuthentication yes

“RSAAuthentication”设置是否允许只有RSA安全验证。

PasswordAuthentication yes

“PasswordAuthentication”设置是否允许口令验证。

PermitEmptyPasswords no

“PermitEmptyPasswords”设置是否允许用口令为空的帐号登录。

AllowUsers admin

“AllowUsers”的后面可以跟着任意的数量的用户名的匹配串(patterns)或user@host这样的匹配串,这些字符串用空格隔开。主机名可以是DNS名或IP地址。

配置OpenSSH使其使用TCP-Wrappers inetd超级服务器

TCP-WRAPPERS用来启动和停止sshd1服务。当inetd运行的时候,它会从配置文件(默认为

“/etc/inetd.conf”)中读入配置信息。在配置文件中每一行的不同项是用TAB或空格分开。

第一步

编辑“inetd.conf”文件(vi/etc/inetd.conf)并加入这一行:

ssh stream tcp nowait root/usr/sbin/tcpd sshd–i

注意:“-i”参数很重要,它说明sshd是被inetd运行的。在加入这一行后,通过发送一个SIGHUP信号(killall –HUP inetd)来更新“inetd.conf”文件。

[root@deep/root]#killall-HUP inetd

第二步

编辑“hosts.allow”文件(vi/etc/hosts.allow)并加入这一行:

sshd:https://www.doczj.com/doc/7c14696886.html,

这一行表示IP地址为“192.168.1.4”,主机名为“https://www.doczj.com/doc/7c14696886.html,”的计算机允许用ssh访问服务器。

下面这些“daemon”字符串(用于TCP-WRAPPERS)被sshd1使用:

sshdfwd-X11(允许/禁止X11转发).

sshdfwd-(TCP转发).

sshdfwd-(port-name在/etc/services中定义。用于TCP转发).

注意:如果准备使用ssh,一定要用在所有的服务器上。如果十台安全的服务器和一台不安全的服务器配在一起,也谈不上什么安全性。

更多的资料

如果想查找详细的资料可以用man命令查帮助页,读取相关信息:

$man ssh(1)-OpenSSH secure shell client(remote login program)

$man ssh[slogin](1)-OpenSSH secure shell client(remote login program)

$man ssh-add(1)-adds identities for the authentication agent

$man ssh-agent(1)-authentication agent

$man ssh-keygen(1)-authentication key generation

$man sshd(8)-secure shell daemon

SSH1每用户配置

第一步

为本地服务器创建私有和公用密匙,执行下面的命令:

[root@deep]#su username

[username@deep]$ssh-keygen1

举个例子,显示出来的结果可能是:

Initializing random number generator...

Generating p:............................++(distance430)

Generating q:......................++(distance456)

Computing the keys...

Testing the keys...

Key generation complete.

Enter file in which to save the key(/home/username/.ssh/identity):【按下回车键】

Enter passphrase:

Enter the same passphrase again:

Your identification has been saved in/home/username/.ssh/identity.

Your public key is:

102437 14937757511251955533691120318477293862290049394715136511145806108870001764378494676831 29757784315853227236120610062314604405364871843677484233240919418480988907860997175244 46977589647127757030728779973708569993017043141563536333068888944038178461608592483844 590202154102756903055846534063365635584899765402181username@https://www.doczj.com/doc/7c14696886.html,

Your public key has been saved in/home/username/.ssh/identity.pub

注意:如果有多个帐号需要为每个帐号创建一个密匙。

你可能要为下面的服务器创建密匙:

l Mail服务器

l Web服务器

l网关服务器

这允许对这些服务器进行有限的访问,例如,不允许用Mail服务器的帐号访问Web服务器或网关服务器。这样可以增加整体的安全性,即使因为某种原因有一个密匙被泄密了,也不会影响到其它的服务器。

第二步

把本机的公用密匙(identity.pub)拷贝到远程主机的“/home/username/.ssh”目录下,例如,使用“authorized_keys”这个名字。

注意:拷贝文件的一个方法使用ftp命令,另一个办法是把公用密匙用email(包含“~/.ssh/identity.pub”文件的内容)发给系统管理员。

改变pass-phrase

用加上“-p”参数的“ssh-keygen”命令,在任何时候都可以改变pass-phrase。用下面的命令,改变pass-phrase:

[root@deep]#su username

[username@deep]$ssh-keygen1–p

Enter file key is in(/home/username/.ssh/identity):[按下回车键]

Enter old passphrase:

Key has comment username@https://www.doczj.com/doc/7c14696886.html,

Enter new passphrase:

Enter the same passphrase again:

Your identification has been saved with the new passphrase.

OpenSSH用户工具

下面列出的是一些我们经常要用到的命令,当然还有很多其它的命令,更详细的信息可以查看man帮助页或其它文档。

ssh

ssh(Secure Shell)是用来登录远程计算机和在远程计算机上执行命令的程序。它是用来替代rlogin和rsh,以及在不安全的网络环境下在两台计算机之间提供安全和加密的信息交流。X11连接和TCP/IP端口可以被转发到一个安全的通道里。

用下面的命令,登录远程计算机:

[root@deep]#ssh

例如:

[root@deep]#ssh username https://www.doczj.com/doc/7c14696886.html,

username@https://www.doczj.com/doc/7c14696886.html,’s password:

Last login:Tue Oct19199918:13:00-0400from https://www.doczj.com/doc/7c14696886.html,

Welcome to https://www.doczj.com/doc/7c14696886.html, on Deepforest.

是用来登录ssh服务器的用户名,是ssh服务器主机的地址。

scp

可以用这个命令把文件从本地计算机拷贝到远程计算机,或者反之,甚至可以在两台远程计算机之间用“scp”命令拷贝文件。把远程主机上的文件拷贝到当前目录的一个简单的方法如下。

用下面的命令把文件从远程主机拷贝到本地主机上:

[root@deep/]#su admin

[admin@deep/]$scp-p:/dir/for/file localdir/to/filelocation

例如:

[username@deep]$scp-p username@mail:/etc/test1/tmp

Enter passphrase for RSA key username@https://www.doczj.com/doc/7c14696886.html,:

test1|2KB| 2.0kB/s|ETA:00:00:00|100%

用下面的命令把文件从本地主机拷贝到远程主机上:

[root@deep/]#su admin

[admin@deep/]$scp-p localdir/to/filelocation:/dir/for/file

例如:

[username@deep]$scp-p/usr/bin/test2username@mail:/var/tmp

username@mails password:

test2|7KB|7.9kB/s|ETA:00:00:00|100%

注意:“-p”选项表示文件的改变和访问时间属性以及权限,在拷贝过程中被保留。通常是需要这样的。安装到系统中的文件

>/etc/ssh

>/etc/ssh/ssh_config

>/etc/ssh/sshd_config

>/etc/ssh_host_key

>/etc/ssh_host_key.pub

>/usr/bin/ssh

>/usr/bin/slogin

>/usr/man/man1/ssh.1

>/usr/man/man1/scp.1

>/usr/man/man1/ssh-add.1

>/usr/man/man1/ssh-agent.1

>/usr/man/man1/ssh-keygen.1

>/usr/bin/scp

>/usr/bin/ssh-add

>/usr/bin/ssh-agent

>/usr/bin/ssh-keygen

>/usr/man/man1/slogin.1

>/usr/man/man8/sshd.8

>/usr/sbin/sshd

Windows平台上免费的SSH客户软件

Putty

Putty的主页:https://www.doczj.com/doc/7c14696886.html,/~sgtatham/putty.html

Tera Term Pro and TTSSH

Tera Term Pro的主页:http://hp.vector.co.jp/authors/VA002416/teraterm.html TTSSH Homepage:https://www.doczj.com/doc/7c14696886.html,.au/~roca/download.html

H3C交换机SSH配置完全攻略

使用SSH+密码认证(基本SSH配置方法) 注:在用户使用SSH登录交换机时,交换机对所要登录的用户使用密码对其进行身份验证 生成RSA和DSA密钥对 [H3C]public-key local create rsa [H3C]public-key local create dsa 设置用户接口上的认证模式为AAA,并让用户接口支持SSH协议 [H3C]user-interface vty 0 4 [H3C-ui-vty0-4]authentication-mode scheme [H3C-ui-vty0-4]protocol inbound ssh 创建用户luwenju-juzi,设置认证密码为luwenju-!@#登录协议为SSH,能访问的命令级别为3 [H3C]local-user luwenju-juzi [H3C-luser-luwenju-juzi]password cipher luwenju-!@# [H3C-luser-luwenju-juzi]service-type ssh level 3 指定用户luwenju-juzi的认证方式为password [H3C]ssh user luwenju-juzi authentication-type password 一个基本的SSH配置就结束了,配置完成后即可使用SSH登录工具进行连接交换机 使用SSH+密钥、密码认证(高级SSH配置方法) 注:客户端在使用SSH工具登录交换机时,交换机同时使用密钥和密码对所要登录的用户实行身份验证 生成RSA和DSA密钥对 [H3C]public-key local create rsa [H3C]public-key local create dsa 设置用户接口上的认证模式为AAA认证,并在接口上开启SSH协议,并设置用户能访问的命令级别为3 [H3C]user-interface vty 0 4 [H3C-ui-vty0-4]authentication-mode scheme [H3C-ui-vty0-4]protocol inbound ssh [H3C-ui-vty0-4]user privilege level 3

SSH框架搭建实例教程,课程设计

. SSH的理解及其应用实践

1.SSH是什么 (3) 2 Spring 介绍理解: (3) 2.1简单介绍 (3) 2.2各种特性 (3) 2.2.1轻量 (3) 2.2.2控制反转 (4) 2.2.3面向切面 (4) 2 .2.4容器 (4) 2.2.5框架 (4) 2.3总结 (4) 3.Hibernate介绍理解: (4) 3.1简单介绍 (4) 3.2核心接口 (5) .3.2.1 Session接口 (5) 3.2.2 .SessionFactory接口 (5) 3.2.3.Configuration接口 (5) 3.2.4.Transaction接口 (5) 3.2.5 Query和Criteria接口 (5) 4. Struts (6) 4.1什么是Struts框架 (6) 4.2 Struts 概览 (6) 4.2.1Client browser(客户浏览器) (6) 4.4 Struts中的Controller(控制器)命令设计模式的实现 (7) 4.5 在Struts框架中控制器组件的三个构成部分 (7) 4.7 Struts中的Model(模型) (8) 5.SSH整合步骤 (8) 5.1安装所需软件环境: (8) 5.1.1、首先安装JDK,配置Java环境变量 (8) 5.1.2安装MyEelipse (8) 5.1.3 数据库 (9) 5.1.4、 (9) 5.2环境配置好了就可以做SSH整合的项目 (9) 6.搭建框架并简单应用 (11) 6.1准备工作 (11) 6.2(建立项目,包结构,导入所需jar文件) (12) 6.3撰写资源文件 (15) 6.4在https://www.doczj.com/doc/7c14696886.html,m 包下添加下列文件 (19) 6.5添加hibernate DAO 模板 (20) 6.6以上的工作还不够,我们还需要进行WEB方面的配置 (20) 7.测试: (23)

LinuxSSH配置和禁止Root远程登陆设置文档

L i n u x S S H配置和禁止R o o t远程登陆设置2010-01-0713:16 1、servicesshdrestart???或者/etc/sshdrestart(ssh服务器重启) 一、修改vi/etc/ssh/sshd_config文件 1、修改默认端口:默认Port为22,并且已经注释掉了;修改是把注释去掉,并修改成其它的端口。 2、禁止root用户远程登陆:修改PermitRootLogin,默认为yes且注释掉了;修改是把注释去掉,并改成no。 3、PermitEmptyPasswords??no不允许空密码用户login 二、ssh的公钥认证配置: 修改vi/etc/ssh/sshd_config文件 RSAAuthenticationyes???????#启用RSA认证(默认是注释掉的,将注释去掉,如果不是yes,改为yes) PubkeyAuthenticationyes????#启用公钥认证(默认是注释掉的,将注释去掉,如果不是yes,改为yes) PasswordAuthenticationno???#禁止密码认证(改为no,默认为yes是用密码认证) StrictModesno??#修改为no,默认为yes.如果不修改用key登陆是出现serverrefusedourkey(如果StrictModes为yes必需保证存放公钥的文件夹的拥有与登陆用户名是相同的.“StrictModes”设置ssh在接收登录请求之前是否检查用户家目录和rhosts文件的权限和所有权。这通常是必要的,因为新手经常会把自己的目录和文件设成任何人都有写权限。) 之后重新启动ssh服务:/etc/sshrestart 生成登陆公钥与私钥, [root@usousou192_168_0_21ssh]#ssh-keygen-trsa Generatingpublic/privatersakeypair. Enterfileinwhichtosavethekey(/root/.ssh/id_rsa):/home/.ssh/id_rsa(生成私钥与公钥存放位置) Enterpassphrase(emptyfornopassphrase):输入密码Entersamepassphraseagain:再次输入密码 Youridentificationhasbeensavedin/home/.ssh/id_rsa.???(生成的私钥) Yourpublickeyhasbeensavedin/home/.ssh/.(生成的公钥) Thekeyfingerprintis: 76:04:4d:44:25:37:0f:b1:a5:b7:6e:63:d4:97:22:6b 将生成的公钥匙传到要登陆的服务器上并追加到authorized_keys文件中,放到用户目录的.ssh中>>.ssh/authorized_keys(如果没有authorized_keys,可直接将重命名

SSH整合

MyEclipse6.0的SSH整合 Version 1.1 2010-6-20 目录 0.概述 (2) 1.准备环境 (2) 2.创建工程 (10) 3.添加Struts支持 (11) 4.添加Spring支持 (13) 5.配臵数据源 (17) 6.添加Hibernate支持 (28) 7.添加Hibernate反转工程 (35) 8.修改目录结构 (39) 9.测试Spring和Hibernate的整合 (41) 10.整合Struts和Spring (51) 11.测试SSH的整合 (52) 0.概述 MyEclipse 是 Eclipse 的一个优秀插件,用于 Java EE 的开发,提供了诸如数据库管理、文件配臵管理等的一站式服务。然而对

于 SSH 的整合,仅仅使用 MyEclipse 是无法成功实现的。这或许是MyEclipse 的 Bug,因为它自带的部分库文件并不能按照预期进行整合,需要我们手工干预。因此,我们编写这个这个文档,希望对以后的 SSH 整合技术有一定的帮助。 本公司使用 MyEclipse6.0 构建 SSH 项目。对公司开发部开会讨论,开发工具MyEclipse6.0。另外需要指出的是,SSH 的整合有很多方法,这里只介绍其中的一种。作为 Java EE 的开发,我们使用Tomcat5.5 作为 Web 容器,使用 MySQL 作为数据库。 1.准备环境 下面是我们需要使用的软件开发环境: MyEclipse6.0 Tomcat5.5 MySQL5.1 JDK6.0 需要指出的是,各个软件的版本号并不一定需要和上面列出的相同。但是,由于我们编写本教程时的 实验环境是由上述各版本系统搭建的,因此不能确保其它版本的软件是不是能够正常运行。另外由于 MyEclipse 中已经附带了 SSH 所需要的各种库文件,所以我们一般不再需要另外的准备。 对于软件的设臵,我们将 MySQL 数据库编码设臵为 UTF-8。具体方法为: 安装好 MySQL 后,打开 MySQL Server Instance Config Wizard,请根据下面的图示进行设臵: 1) 启动 MySQL 配臵向导界面,点击 Next 继续;

华为SSH配置

SSH服务器配置: sys [Huawei]undo info en [Huawei]sys S1 [S1]int vlan 1 [S1-Vlanif1]ip add 192.168.1.1 24 [S1-Vlanif1]q [S1]rsa local-key-pair create The key name will be: S1_Host The range of public key size is (512 ~ 2048). NOTES: If the key modulus is greater than 512, it will take a few minutes. Input the bits in the modulus[default = 512]:1024 Generating keys... ....................++++++ ............++++++ ...........++++++++ ................................................................................ ....................++++++++ [S1]user-interface vty 0 4 [S1-ui-vty0-4]authentication-mode aaa [S1-ui-vty0-4]protocol inbound ssh [S1-ui-vty0-4]q [S1]aaa [S1-aaa]local-user admin password cipher admin [S1-aaa]local-user admin service-type ssh [S1-aaa]local-user admin privilege level 15 [S1-aaa]q [S1]ssh user admin authentication-type password [S1]ssh user admin service-type stelnet //路由器不需要此命令,也没有此命令[S1]stelnet server en Info: Succeeded in starting the Stelnet server.

SSH三大框架整合(详细版)

1:构建WEB项目 2:构建数据库 3:加入依赖包 尽量不要依赖IDE,通过自己手动加包完成 访问数据库需要的包:mysql的驱动包 Hibernate的包:hibernate3.jar 核心包 依赖的必须包:antlr-2.7.6.jar 用于解析成HQL语句的包 commons-collections-3.1.jar apache提供的包,提供对集合框架的增强 dom4j-1.6.1.jar 解析XML文件的包 javassist-3.9.0.GA.jar 动态修改字节码需要用到的包 jta-1.1.jar 用于JTA事务的包 slf4j-api-1.5.8.jar 日志接口包---》依赖一定的实现包 slf4j-log4j12-1.5.0.jar log4j.jar 另外一种实现包:slf4j-simple-1.5.10.jar 可选的包:c3p0-0.9.1.jar 用于创建C3P0连接池的包 ehcache-1.2.3.jar :用于缓存实现的包 cglib-2.2.jar 动态修改字节码的包 Spring的包:spring.jar 核心包 aopalliance.jar 使用Aop功能可以用到的包 aspectjrt.jar aspectjweaver.jar 使用ASPECTJ表达式需要用到的包 如果是使用DBCP连接池的话,需要两个jar包 commons-dbcp.jar commons-pool.jar 如果需要用到commons增加包的话,可以加入以下包 commons-beanutils.jar commons-lang.jar commons-logging.jar Struts2的包:commons-fileupload-1.2.1.jar commons-io-1.3.2.jar freemarker-2.3.13.jar :在Struts2 中默认使用的是FreeMarker模板引擎 ognl-2.6.11.jar :Struts2中使用OGNL表达式 struts2-core-2.1.6.jar 核心包 xwork-2.1.2.jar 核心包 struts2-spring-plugin-2.1.6.jar Struts2跟Spring整合需要的插件包 4:构建项目分包结构 5:放置配置文件 6:创建POJO和相对应的hbm.xml 7:修改空白的Hibernate.cfg..xml并创建表结构 8:创建DAO,SERVICE,ACTION 9:修改配置文件

SSH2_增删查改实例

SSH2 增删查改实例 (0)软件和框架版本: MyEclipse 6.0.1 Tomcat 6.0.14 Sturts2 1.8 Hibernate 3 Spring 2.0 Mysql 5.1 (一)引入包(共73个,不一定都需要,但是我的项目是这么多,经过调试,有没包冲突)

(二)创建数据库表 建立数据库octtest,并创建user表,表里面一共4个字段:id,姓,名,年龄。 语句如下: create database octtest; user octtest; DROP TABLE IF EXISTS `users`; CREATE TABLE `users` ( `id` int(10) unsigned NOT NULL, `firstname` varchar(50) NOT NULL, `lastname` varchar(50) NOT NULL, `age` int(10) unsigned NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; (三)用myeclipse 中自带的hibernate reverse engineering 工具,根据刚才创建的user表,自动生成实体User 和相应的User.hbm.xml配置文件。 1)在myeclipse中的视图中创建连接数据库连接,如下图:

填入mysql数据库相应的路径,用户名,密码等信息。注意:这里要引入mysql-connector-java的jar包,需要从外部导入。 2)连接数据库正常后,选择octtest数据库中的user表,右键-》hibernate reverse engineering。自动生成实体User 和相应的User.hbm.xml配置文件。(正常情况下可以生成,但是笔者生成engineer有问题,所以只能够手动创建User类和相应的User.hbm.xml,,所以如果读者顺利创建,可跳过2a,2b两部) 2a)创建User实体类 User.java package com.bean; public class User { public Integer id; public String firstname; public String lastname; public int age;

Cisco路由器的SSH配置详解

C i s c o路由器的S S H配 置详解 The document was finally revised on 2021

Cisco路由器的SSH配置详解 2008-06-18 13:04 如果你一直利用Telnet控制网络设备,你可以考虑采用其他更安全的方式。 本文告诉你如何用SSH替换Telnet. 使用Telnet这个用来访问远程计算机的TCP/IP协议以控制你的网络设备相当于在离开某个建筑时大喊你的用户名和口令。很快地,会有人进行监听,并且他们会利用你安全意识的缺乏。 SSH是替代Telnet和其他远程控制台管理应用程序的行业标准。SSH命令是加密的并以几种方式进行保密。 在使用SSH的时候,一个数字证书将认证客户端(你的工作站)和服务器(你的网络设备)之间的连接,并加密受保护的口令。SSH1使用RSA加密密钥,SSH2使用数字签名算法(DSA)密钥保护连接和认证。 加密算法包括Blowfish,数据加密标准(DES),以及三重DES (3DES)。SSH保护并且有助于防止欺骗,“中间人”攻击,以及数据包监听。 实施SSH的第一步是验证你的设备支持SSH.请登录你的路由器或交换机,并确定你是否加载了一个支持SSH的IPSec IOS镜像。 在我们的例子中,我们将使用Cisco IOS命令。运行下面的命令: 该命令显示已加载的IOS镜像名称。你可以用结果对比你的供应商的支持特性列表。 在你验证了你的设备支持SSH之后,请确保设备拥有一个主机名和配置正确的主机域,就像下面的一样: 在这个时候,你就可以启用路由器上的SSH服务器。要启用SSH服务器,你首先必须利用下面的命令产生一对RSA密钥:

ssh2实例(带截图)

Struts2.1.6+Spring2.5.6+Hibernate3.3.1全注解实例详解(一) 在JavaEE企业级开发中,以SSH2框架为核心的应用非常广,大象根据项目实践经验,通过一个实例,详细的为大家讲解如何实现全注解式的开发。 开发环境 JDK1.6.0_18 Eclipse3.2.1 MyEclipse5.1.0 Tomcat6.0.10 MySQL5.0.27 Navicat Lite for MySQL 8.1.20 每个人的开发环境可能会有差异,但有一点我需要说明的是,JDK的版本不得低于1.5,因为用到了很多1.5版才支持的新特性。Tomcat和MySQL请不要低于我所用的版本,因为我没在其它的版本上进行测试。Navicat则是MySQL数据库的图形化操作工具。我在这里假定各位目前已经设置好了开发环境,下面就开始详细的说明。 由于要阐述的内容比较多,大象决定将它们划分成个几章节来讲,这一章就主要来说说jar包的选择。 第一部分:选择必须的jar包 新建一个web项目,然后将必要的jar包COPY到lib里面。根据本文实例demo,大象给出下图中的最少jar包配置。 我对这些jar包进行一下说明,方便大家理解。

解压Struts2.1.6的lib文件夹,从中选出上面7个jar包添加到我们的工程库中。commons-logging、freemarker、ognl、struts2-core、xwork这5个还是struts2的核心包。但在Struts2.1.6这个版本中,还需要加上commons-fileupload包。如果没有,则启动就会报错,不过不需要像网上传言的那样还得加上commons-io的jar包,这些大象都亲自做过测试。在本实例中,我将对struts2也采取注解的方式,所以用到了struts2-convention-plugin-2.1.6.jar这个插件。因为要与spring整合,所以struts2-spring-plugin-2.1.6.jar也必不可少。 大象在这里偷个懒,直接将spring的完整jar包加了进来,如果各位想精简类库的话,就选取它的分类jar包吧。比如本例使用struts2作为MVC框架,所以spring的webmvc就不可能用到了。有想改的朋友请自己动手改下。另外有点我想说下,如果采取完整spring的jar包,还需要Spring2.5.6\lib\concurrent文件夹中的backport-util-concurrent.jar,如果不加这个,spring会报错。但是采取spring分类jar包的形式,这个可以不用加,至于具体使用什么需要依赖这个包,大象还没去测试过,这个有待验证。还有lib\slf4j下的日志包,目前很多都开始采用基于slf4j 接口的日志器,它的好处就是日志器是根据slf4j的接口来进行实现,可以在不改变代码的情况下更换日志器。最后Spring的源代码中使用的是commons-logging记录日志,因此这个包不能少,不过因为struts2也用到了,所以这里就省了。 Hibernate从3.3版开始,对jar包结构做了一次大的调整,我们只需要加入lib\required文件夹下面的6个jar包。请注意这6个jar包都是使用Hibernate所必须的。另外再加上hibernate 核心包。这里我将slf4j-api-1.5.2.jar换成了1.5.0,这是因为slf4j是一个通用日志接口,不提供任何实现,我在demo里面使用的是log4j,而hibernate包里面没有log4j的slf4j实现。而且如果版本不一致,会有异常,因此我就采用Spring2.5.6\lib\slf4j里面提供的配套版本。另外我将commons-collections-3.1.jar换成了Struts2.1.6里面的3.2版。

centos SSH配置详解

基本概念 linux自带的ssh为OpenSSH ssh协议提供两种用户认证方式 1、基于口令的安全认证:使用用户名、密码的方式对登录用户进行认证 2、基于密钥的安全认证:使用公钥和私钥对的方式对登录用户进行认证 OpenSSH的rpm包由四部分组成(默认已安装) openssh-4.3p2-26.el5.i386.rpm(一定要先安装这个rpm包) openssh-server-4.3p2-26.el5.i386.rpm openssh-clients-4.3p2-26.el5.i386.rpm openssh-askpass-4.3p2-26.el5.i386.rpm (在图形界面下使用ssh服务时才需要) openssh的主配置文件为: /etc/ssh/sshd_config #ssh服务器的配置文件 /etc/ssh/ssh_config #ssh客户端的配置文件 openssh支持使用scp(加密的拷贝)和sftp(加密的ftp)等客户端程序进行远程主机的文件复制 OpenSSH服务器端配置实例1:基于用户名密码的登录方式 1、vi /etc/ssh/sshd_config (以下列出的是常用配置) #Port 22 #定义ssh监听的端口号,默认为22 #Protocol 2,1 #设置使用ssh协议的顺序,先使用ssh2,如果不成功再使用ssh Protocol 2 #设置只使用ssh2协议 #ListenAddress 0.0.0.0 #设置ssh服务器绑定的ip地址,默认为所有可用的ip地址 #PermitRootLogin yes #设置是否允许root登录,默认允许 #PermitEmptyPasswords no #设置是否允许空密码的客户登录,默认为禁止 PasswordAuthentication yes #设置是否使用口令认证方式,如果要使用公钥认证方式, 可将其设置为no 2、重启ssh服务 /etc/init.d/sshd restart 3、如果启用了iptables,则需要添加如下语句来开放ssh iptables –I INPUT –p tcp –dport 22 –j ACCEPT iptables –I OUTPUT –p tcp –sport 22 –j ACCEPT 3、windows客户端登录 使用xshell、putty、securecrt等客户端软件都可以登录 4、linux客户端登录 1、安装openssh-clients (默认已安装) 2、ssh命令的基本使用 ssh username@sshserver ssh –l username sshserver

华为及H3C设备 SSH配置命令

1.生产本地密钥对: system-view [HUAWEI] rsa local-key-pair create 2.模数:1024 3.配置VTY用户界面: [HUAWEI] user-interface vty 0 4 [HUAWEI-ui-vty0-4] authentication-mode aaa [HUAWEI-ui-vty0-4] protocol inbound ssh [HUAWEI-ui-vty0-4] quit 4. 创建SSH用户,并配置用户的认证方式为password:[HUAWEI] ssh user client001 authentication-type password 5.配置aaa: [HUAWEI] aaa [HUAWEI-aaa] local-user client001 password cipher huawei [HUAWEI-aaa] local-user client001 privilege level 3 [HUAWEI-aaa] local-user client001 service-type ssh 6.使能STelent功能: [HUAWEI] stelnet server enable 7.配置用户的服务类型为STelnet: [HUAWEI] ssh user client001 service-type stelnet 8.客户端第一次登录: [HUAWEI] ssh client first-time enable

(1) 配置SSH服务器Switch # 生成RSA及DSA密钥对,并启动SSH服务器。 system-view [Switch] public-key local create rsa [Switch] public-key local create dsa [Switch] ssh server enable # 设置SSH客户端登录用户界面的认证方式为AAA认证。 [Switch] user-interface vty 0 4 [Switch-ui-vty0-4] authentication-mode scheme # 设置Switch上远程用户登录协议为SSH。 [Switch-ui-vty0-4] protocol inbound ssh [Switch-ui-vty0-4] quit # 创建本地用户client001,并设置用户访问的命令级别为3。 [Switch] local-user client001 [Switch-luser-client001] password simple aabbcc [Switch-luser-client001] service-type ssh level 3 [Switch-luser-client001] quit # 配置SSH用户client001 的服务类型为Stelnet,认证方式为password认证。[Switch] ssh user client001 service-type stelnet authentication-type password

SSH2整合

Spring+Hibernate+Struts2整合文档 一、Spring+Struts2整合: 1、spring配置在web.xml文件中的上下文监听器: contextConfigLocation /WEB-INF/applicationContext*.xml org.springframwork.web.content.ContextLoaderListener 2、struts2配置在web.xml文件中的过滤器: struts2 org.apache.struts2.dispatcher.FilterDispatcher org.springframework.web.context.ContextLoaderListener struts2 /* 3、设置struts.xml文件,就可以使用spring的IOC来管理struts的Action:

Linux SSH 远程登录配置方案

Linux SSH 远程登录配置方案成功 一:windows 远程登录到linux 服务器操作系统 1.Linux 服务器系统需要打开sshd 服务 a)service sshd start b)chkconfig sshd on c)iptables 可以关闭或设置相应的端口开放 2.工具软件PuTTY 进行登录 a)输入IP地址192.168.56.102 b)选择SSH登录协议 c)设定端口为22 d)点击Open 进去界面输入正常的用户名和密码进去服务 器系统 3.工具软件WinSCP a) 1. WinSCP 登录很简单此软件用于备份文件使用 4.网络密钥登录方式linux 主机登录linux 服务器 a)首先运行ssh 192.168.56.102 ssh 是命令后面的是目标 主机 b)登录后系统会有提示公共密钥输入yes c)输入服务器root用户的密码****** 这样就可以登录成功 d)这时会发现在服务器和主机上都有一个相同的文件夹.ssh (~当成目录) e)在.ssh目录下有一个known_hosts 这个是公钥文件

f)这时我们需要在(客户机)生成密码文件ssh –keygen –t rsa g)确认后会提示是否把文件放到.ssh目录确定OK h)提示输入密码:abcde i)这时文件已经创建好了在~/.ssh/ 会有两个文件一个是 id_rsa 为密钥.pub 为公钥 j)把公钥传到服务器~/.ssh/ 目录下名子为authorized_keys(这个名子是必须的) scp ./.ssh/id_rsa.pub root@192.168.56.102:~/.ssh/authorized_keys k)Scp 当面目录下/.ssh/id_rsa.pub 服务器ID@服务器地址:当前目录/.ssh/authorized_key l)确认哦使用ssh 登录时就会提示网络密钥密码这个密码就不是用户的密码了这样大大的提高了安全性

ssh配置手册

SSH配置完全手册 前言: 为何使用 OpenSSH? 您每天使用的标准网络服务(如 FTP、Telnet、RCP 和远程 Shell (rsh) 等)在封闭环境中运行良好,但使用这些服务在网络上传输的信息是未加密的。任何人都可以在您的网络或远程计算机上使用包嗅探器查看交换的信息,有时甚至可以查看密码信息。 而且,使用所有此类服务时,在登录过程中用于自动登录的选项会受到限制,并且通常依赖于将纯文本密码嵌入到命令行才能执行语句,从而使登录过程变得更加不安全。 开发的安全 Shell (SSH) 协议可以排除这些限制。SSH 能够为整个通信通道提供加密,其中包括登录和密码凭据交换,它与公钥和私钥一起使用可以为登录提供自动化身份验证。您还可以将 SSH 用作基础传输协议。以这种方式使用 SSH 意味着在打开安全连接后,加密通道可以交换所有类型的信息,甚至 HTTP 和SMTP 可以使用该方法来保证通信机制的安全。 OpenSSH 是 SSH 1 和 SSH 2 协议的免费实现。它最初是作为 OpenBSD (Berkeley Software Distribution) 操作系统的一部分开发的,现在被发布为UNIX 或Linux? 和类似操作系统的常规解决方案。 安装 OpenSSH OpenSSH 是免费软件,可以从 OpenSSH 的主要网站下载(请参见参考资料)。可以使用多种系统(包括 Linux、HP-UX、AIX?、Solaris、Mac OS X 等)上的源代码构建 OpenSSH 系统。通常可以找到所选平台和版本的预编译二进制代码。有些供应商甚至作为操作系统的一部分提供 OpenSSH 工具包。 要构建OpenSSH,您需要以下内容: ? C 编译器(GNU C 编译器 (gcc) 或类似编译器) ?Zlib –压缩库 ?OpenSSL –安全套接字层 (SSL) 安全库 注意:

SSH三大框架开发案例

jdk6+myeclipse8.5+tomcat6+oracle+spring2.0+hibernate3+struts2 好了,开始我们的第一个ssh2之旅吧。 首先先分析一下我们的第一个ssh2项目的需求,简单的说就是有一张表单,让你填写用户名和密码,提交后存入数据库。就这么简单,呵呵。 第一步:。我们首先新建一张mysql数据表。 Sql如下: Create table t_employee( Id integer not null primary key, Name varchar(20), Age varchar(20), Sex varchar(20), Tel varchar(20), Address varchar(20))

数据创建好后结构如下: 第二步 打开myeclipse,新建一个web项目,命名为ssh2-2, java ee规范我们选择5,如图 第三步务必小心的一步 导入ssh2的各个jar,步骤如下: 选中当前的项目后,点击菜单烂的myeclipse---project capablities----add hibernate项,跳

出如图 务必按照图示选择,尤其是copy checkde……一项,然后点击next,默认next,去掉specify database……复选框,next,去掉create session……复选框,finish。 再次选中选中当前的项目后,点击菜单烂的myeclipse---project capablities----add spring 项,跳出如图

依然务必按照如是选择,jar文件选择如下5个:

ssh 配置文件

1.集成Spring和Hiberante

交换机ssh典型配置案例

交换机SSH应用配置: 网络连接: SSH终端与交换机建立本地连接,能ping通交换机即可。 交换机及终端配置过程: 在交换机上,SSH支持的认证方式有两种,分别为口令认证和RSA认证。此处采用的SSH客户端为免费的putty程序。 1、口令认证方式: 交换机上的配置: [Quidway] rsa local-key-pair create [Quidway] user-interface vty 0 4 [Quidway-ui-vty0-4] authentication-mode scheme [Quidway-ui-vty0-4] protocol inbound ssh [Quidway] local-user ssh1 [Quidway-luser-ssh1] password simple huawei [Quidway-luser-ssh1] service-type ssh [Quidway] ssh user ssh1 authentication-type password 注:此时添加的ssh用户ssh1的级别为默认的级别1,如果想要管理交换机还需在交换机上配置super password;也可以直接配置ssh1的级别为最高的level 3: [Quidway-luser-ssh1] service-type ssh level 3 客户端的配置: 在Host Name处输入交换机的ip地址:

交换机支持的SSH版本只能为1:

在下面的界面里面选择验证方式为SSH1,不选择验证参数:

单击Open按钮,出现登陆提示框,输入用户名及密码即可:

H3C 路由器、交换机 SSH配置步骤

1.1 设备作为SSH服务器配置举例 1.1.1 password认证配置举例 1. 组网需求 如图1-1,配置Host(SSH客户端)与Switch建立本地连接。Host采用SSH 协议登录到Switch上,以保证数据信息交换的安全。SSH用户采用的认证方 式为password认证。 2. 组网图 SSH client SSH server 图1-1SSH本地配置组网图 3. 配置步骤 (1) 配置SSH服务器Switch # 生成RSA密钥对,并启动SSH服务器。 system-view [Switch] public-key local create rsa [Switch] ssh server enable # 配置VLAN接口1的IP地址,客户端将通过该地址连接SSH服务器。 [Switch] interface vlan-interface 1 [Switch-Vlan-interface1] ip address 192.168.1.40 255.255.255.0 [Switch-Vlan-interface1] quit # 设置SSH客户端登录用户界面的认证方式为AAA认证。 [Switch] user-interface vty 0 4 [Switch-ui-vty0-4] authentication-mode scheme # 设置Switch上远程用户登录协议为SSH。 [Switch-ui-vty0-4] protocol inbound ssh [Switch-ui-vty0-4] quit # 创建本地用户client001,并设置用户访问的命令级别为3。 [Switch] local-user client001 [Switch-luser-client001] password simple/ (cipher 密文) aabbcc [Switch-luser-client001] service-type ssh level 3 [Switch-luser-client001] quit # 配置SSH用户client001的服务类型为Stelnet,认证方式为password认证。

一个完整的SSH的例子源代码

一个完整的SSH的例子源代码 各个文件齐全 各个文件都是我从项目中一个一个拷贝出来的,一个都不少 Web.xml contextConfigLocation classpath:beans.xml org.springframework.web.context.ContextLoaderListener struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter struts2 /*

相关主题
文本预览
相关文档 最新文档