Win7下用SSH客户端工具连接CentOS5.4的SSH证书配置方法
- 格式:docx
- 大小:854.53 KB
- 文档页数:11
在CentOS7下,如何开通SSH系统远程服务⼀、CentOS7系统下打开超级终端,执⾏相关命令:[root@robot ~]# yum list installed | grep openssh-server #查看SSH是否已经安装(等同于命令:rpm -qa | grep ssh)没有安装 openssh-server,⾸次安装执⾏安装操作[root@robot ~]# yum install openssh-server #安装openssh-server,如果有版本号,版本号也需要完整输⼊[root@robot ~]# cd /etc/ssh/ #打开ssh安装⽂件夹[root@robot ~]# dir #查看⽬录下所有⽂件,并找到sshd_config⽂件[root@robot ~]# vim sshd_config #⽤vim编辑器打开1、按键盘的【insert】键,进⼊编辑状态;2、找到以下两个监听名称,把名称前的【#】符号删除# ListenAddress 0.0.0.0 →修改为→ ListenAddress 0.0.0.0# ListenAddress :: →修改为→ ListenAddress ::3、找到PremitRootLogin yes /*如果是no就改为yes*/4、找到PasswordAuthentication yes /*如果是no就改为yes*/5、按键盘的【ESC】键,退出编辑状态;6、输⼊命令【:wq】保存修改[root@robot ~]# sudo service sshd start #开启SSH远程访问服务[root@robot ~]# ps -e | grep sshd #检查ssh服务是否已经开启;⼆、在Windows 系统下安装 Xshell 终端访问⼯具,并配置访问【运⾏XShell终端,添加SSH远程访问地址】1、填写名称,⽤于标识服务器,⽅便知道连接哪⼀台服务器;2、协议:SSH3-1、主机:输⼊服务器的内⽹IP地址 ;(内外远程)3-2、主机:外⽹映射到内⽹的公⽹IP(外⽹远程)4-1、端⼝号:输⼊默认端⼝号22;(内外远程)4-2、外⽹映射到内外的端⼝(如外⽹端⼝23映射到内外端⼝22)则填:23;(外⽹远程)5、【确定】后⾃动保存,并可以连接【⾸次连接,显⽰SSH安全警告】1、双击【所有会话】下【新建的会话名称】→弹出提⽰【未知主机密钥】:点击【接收并保存】;2、再次双击【所有会话】下【新建的会话名称】→弹出SSH⽤户名:输⼊⽤户名(如root)并勾选记住⽤户名;3、按住键盘上的 Ctrl+alt+J →弹出SSH⽤户⾝份验证:输⼊⽤户名的密码,并勾选记住密码;此时,完成所有配置,并已经且正常远程连接到服务器上了。
华为配置ssh方法
华为设备开启SSH功能可以通过以下步骤进行配置:
1. 进入设备的命令行界面(Console或Telnet)。
2. 使用管理员权限登录设备。
3. 进入系统视图,输入以下命令:
`sys`
4. 生成RSA密钥对,输入以下命令:
`ssh-keygen rsa`
该命令将会生成一对RSA密钥,公钥和私钥。
这对密钥将被用于SSH连接的加密和身份验证。
5. 保存生成的密钥对,输入以下命令:
`saverun`
该命令将密钥保存至设备的配置文件中,以便设备在重启后仍可使用。
6. 启用SSH服务,输入以下命令:
`ssh server enable`
该命令将开启设备上的SSH服务。
7. 设置SSH的认证方式,输入以下命令:
`ssh authentication-type default password`
该命令将设置使用默认的用户名和密码进行SSH连接的认证方式。
完成以上步骤后,SSH服务将会在华为设备上启用,并且可
以使用SSH客户端通过设备的IP地址或主机名进行远程连接。
SSH设置教程一劳永逸!(设置一次就好,以后都不用麻烦)(软件下载在)第一步是用SSH客户端连接服务器,第二步是设置浏览器。
两个步骤,缺一不可。
一、连接服务器Tunnelier是一款功能强大的SSH客户端,结合了很多功能安装完毕后,会自动运行Tunnelier,按下图设置:在Host栏输入SSH服务器地址;在Username栏输入用户名;在Initial meth栏的下拉框中选择password,并在password栏输入密码。
免费服务器地址及账户密码在费ssh帐号”获取切换到Options标签,取消“Open Terminal”和“Open SFTP”前面的复选框,如下图:切换到Services标签,按下图设置:设置完毕后,点击左下方的“Login”按钮连接SSH服务器。
如果是第一次连接,会弹出对话框:点击“Accept and Save”按钮。
当左下方的“Login”按钮会变成“Logout”按钮时,说明连接成功,SSH代理服务已经开始工作了。
二、设置浏览器(1) 安装Proxy SwitchySharp扩展(2)安装完毕后,点击工具栏上的Proxy SwitchySharp扩展图标,点击“选项”打开设置页面。
(3)在设置页面中,点击切换到“导入/导出”标签,在“在线恢复备份”后面的输入框中填入/files/X_GFWList.bak,再点击“在线恢复备份”按钮,在弹出对话框中点击“确认”恢复。
恢复成功后会弹出提示框,并自动切换到“情景模式”标签页,如下图所示:注:如果你的本地代理端口号不是7070,请自行修改,其他保持默认。
点击“保存”按钮保存设置。
然后切换到“切换规则”标签,点击“立即更新列表”按钮,如果更新成功,会在按钮左侧显示更新时间。
到这里,Chrome设置完毕,点击“保存”按钮关闭Proxy SwitchySharp设置页面,然后关闭所有Chrome窗口,重启浏览器。
重新打开Chrome浏览器,点击工具栏上的Proxy SwitchySharp扩展图标,点击选择"自动切换模式"即可开始浏览网页。
CentOS7连接XShell与⽹络配置的⽅法1、Linux⽹络配置在进⾏⽹络配置前,⾸先要获取本地的IPv4地址和默认⽹关等信息。
安装centOS7后使⽤setup命令,是没有⽹络配置选项的。
要想进⾏⽹络配置,需要使⽤nmtui命令。
进⼊如下界⾯。
使⽤键盘⽅向键选中第⼀项Edit a connection,回车进⼊编辑界⾯。
CentOS7默认⽹卡名为eno16777736,选中Edit,回车。
然后将获取到的IPv4和默认⽹关信息添加到相应的位置。
其中IPv4地址的前3个字段要⼀致,最后⼀个字段可以任意。
选中OK,⼀层⼀层的退回,选中Quit,会到命令⾏,再次使⽤nmtui命令,选择Activate a connection,进⾏连接激活,回车。
进⼊激活页⾯后,选中激活回车即可。
最后退出,会到主页⾯。
使⽤ifconfig命令查看相关信息。
2、连接XShell打开XShell,新建会话,会话名可以任意起⼀个,主机⾥填写配置在Linux系统中的IPv4地址,如下图。
然后,可以点击⽤户⾝份验证,输⼊linux系统的⽤户名和密码即可。
(此步骤⾮必须)最后有⼀个很⼩的问题要注意,在连接XShell时,本地的⽹要和配置Linux时的⽹是同⼀个⽹,否则连接不上。
⽐如配置的时候,在Linux中填的是家⾥的⽹,然后出门到公司了,本地的⽹连上了公司的⽆线,这时候再连接刚刚配置的家庭的⽹就不⾏。
3、默认开机⾃启⽹卡有时候连接不上XShell,是因为Linux中的⽹卡没有打开,可以使⽤su命令切换到超级⽤户模式,再使⽤ifupeno16777736(设备⽹卡名)进⾏查看。
但系统默认是要⼿动打开⽹卡,关机后再次使⽤时,⽹卡还是关闭的。
解决办法如下:TYPE=EthernetBOOTPROTO=noneDEFROUTE=yesIPV4_ FAILURE_ FATAL=noIPV6INIT=yesIPV6_ AUTOCONF=yesIPV6_ DEFROUTE=yesIPV6_ FAILURE_ FATAL=noNAME=eno16777736UUID=01974b05 08ec- 4950- af02 bd434293b7bbDEVICEeno16777736ONBOOT=yesIPADDR=192.168.1.14PREFIX=32GATEWAY=192.168.1.1IPV6_ PEERDNS=yesIPV6_ PEERROUTES=yes1.进⼊⽬录/etc/sysconfig/network-scripts/2.修改ifcfg-enxxxxxxxx ⽂件 (即你的⽹卡标识命名的配置⽂件)3.将ONBOOT=no改成yes4.保存后重启即可以上就是CentOS7连接XShell与⽹络配置的⽅法的详细内容,更多关于CentOS7 XShell⽹络配置的资料请关注其它相关⽂章!。
ssh 用法
一、ssh 简介
SSH(Secure Shell)是一个安全的加密网络协议,它用于使网络通信时的身份认证,数据传输的加密,和终端登录服务器的网络管理。
SSH是建立在客户端/服务端模式下的应用层协议,用户信息,命令和数据通过安全信道传输,保证客户端和服务端之间交互的安
全性。
另外,SSH也可以用来代替FTP进行文件的上传和下载,无需使用用户名和密码。
这其中的安全性就很容易理解了,SSH在用户进行上传和下载文件的时候,把文件转换成
一串加密的代码,这也就是为什么SSH在传输数据时要求所有的用户都使用HTTPS(强制
加密)的原因。
1. 如何创建ssh连接
创建 SSH 连接有两种方法:一种是直接在终端中使用 ssh 命令,另一种则是使用客
户端软件,比如 PuTTY 。
1)使用ssh命令:
格式:
ssh 用户名@IP地址
示例:
***************.1.1
2)使用客户端软件进行连接:
(1)下载客户端软件:这里以 Windows 用户为例,可以去官网下载 PuTTY 客户端
软件,安装完成后启动 PuTTY 。
(2)输入 IP 地址并登录:在 PuTTY 中输入 IP 地址,并且选择 ssh 协议,然后
点击 Open,出现提示框时输入用户名和密码,即可登录服务器。
2. 如何用 SSH 传输文件
上传文件:使用 scp 命令可以用于上传文件到虚拟机。
scp 本地文件用户名@IP地址:远端文件
scp/var/www/*********************.1.1:/home/html/。
linux系统下的ssh登录和配置方法教程Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
可能很多用户不知道什么ssh登录,或者不知道如何配置,这篇文章给大家介绍了linux系统下的ssh登录方法和ssh的配置方法,ssh有两种登录方式,具体哪两种方式大家通过本文学习一 ssh的两种登录方式1密码登录:[root@westosDesktop]#***************.122.26Address 192.168.122.26 maps to bogon, but this does not map back to the address - POSSIBLE BREAK-IN ATTEMPT!************.122.26'spassword:Last login: Tue Jan 17 13:27:29 2017 from 192.168.122.12公钥密钥登录客户端连接服务器时候会生成.ssh目录,此时保证客户端下生成.ssh目录第一步服务器端生成公钥和密钥查看.ssh文件下的内容;第二步:服务器添加认证第四步:服务器分发私钥给客户端完成之后就可以让指定IP的客户端不用密码连接二ssh的配置在服务器的/etc/ssh/sshd_cinfig文件下可以管理ssh服务:PasswordAuthentication yes/on ----------------------> 开启或者关闭密码连接PermitRootLogin yes/no ----------------------------->允许超级用户登录AllowUsers student----------------------------->只允许登录的用户DenyUsers student-------------------------->不允许登录的用户好了,下面介绍下Linux ssh登录命令ssh命令用于远程登录上Linux主机。
S S H配置完全手册前言:为何使用 OpenSSH?您每天使用的标准网络服务(如 FTP、Telnet、RCP 和远程 Shell (rsh) 等)在封闭环境中运行良好,但使用这些服务在网络上传输的信息是未加密的。
任何人都可以在您的网络或远程计算机上使用包嗅探器查看交换的信息,有时甚至可以查看密码信息。
而且,使用所有此类服务时,在登录过程中用于自动登录的选项会受到限制,并且通常依赖于将纯文本密码嵌入到命令行才能执行语句,从而使登录过程变得更加不安全。
开发的安全 Shell (SSH) 协议可以排除这些限制。
SSH 能够为整个通信通道提供加密,其中包括登录和密码凭据交换,它与公钥和私钥一起使用可以为登录提供自动化身份验证。
您还可以将 SSH 用作基础传输协议。
以这种方式使用 SSH 意味着在打开安全连接后,加密通道可以交换所有类型的信息,甚至 HTTP 和SMTP 可以使用该方法来保证通信机制的安全。
OpenSSH 是 SSH 1 和 SSH 2 协议的免费实现。
它最初是作为 OpenBSD (Berkeley Software Distribution) 操作系统的一部分开发的,现在被发布为UNIX 或Linux® 和类似操作系统的常规解决方案。
安装 OpenSSHOpenSSH 是免费软件,可以从 OpenSSH 的主要网站下载(请参见参考资料)。
可以使用多种系统(包括 Linux、HP-UX、AIX®、Solaris、Mac OS X 等)上的源代码构建 OpenSSH 系统。
通常可以找到所选平台和版本的预编译二进制代码。
有些供应商甚至作为操作系统的一部分提供 OpenSSH 工具包。
要构建OpenSSH,您需要以下内容:• C 编译器(GNU C 编译器 (gcc) 或类似编译器)•Zlib –压缩库•OpenSSL –安全套接字层 (SSL) 安全库注意:在AIX上安装SSH , 需要安装OpenSSL来获得支持 . 否则, 安装会不成功 , 报错信息提示也要先安装OpenSSL .OpenSSL可以登陆IBM官网下载 , SSH软件从https:///project/showfiles.php?group_id=127997上下载 .环境说明 :实验环境机器为: M85 , P630 系统版本均为AIX 5.3根据系统版本来下载OpenSSL和OpenSSH的版本 .OpenSSL : openssl-0.9.7l-2.aix5.1.ppc.rpmOpenSSH : openssh-4.3p2-r2.tar.Z安装软件安装顺序为先安装OpenSSL , 后安装OpenSSH➢OpenSSL : 将 openssl-0.9.7l-2.aix5.1.ppc.rpm包ftp到/tmp/ssh下 .通过smitty installp安装 .如下图:➢OpenSSH : 将openssh-4.3p2-r2.tar.Z包ftp到/tmp/ssh下 , 用命令: Zcat openssh-4.3p2-r2.tar.Z | tar -xvf -解包.Smitty installp 安装 .注意要先单独安装license. 后面再安装base包,都要选择ACCEPT new license agreements为yes.如下图:配置SSH➢软件安装完成后 , 可以通过lssrc –s sshd查看ssh后台程序有没启动 .一般安装完ssh软件, 会自动激活该后台程序 . 如查看未激活 , 用startsrc -s sshd来启动就可以.➢软件安装完成后 , 在/etc下会有ssh这个目录生成.➢要修改sshd_config文件 , 为后面的2台机器之间互相访问不需要提供密码做准备 . 修改的内容如图红色的,vi sshd_config将前头的#号注释掉,启用就可以.➢利用命令:ssh-keygen生成key全部选择默认的就可以 , 生成的private key和public Key会保存在~/.ssh目录下 . 如下图注:为了后面的访问方便, passphrase一行密码一般设置为空.➢将2台机器的public key互相传给对方 . 可以有好几种方法: ftp , rcp , scp都可以 . 这里用rcp来传输, 其实scp也可以传输,就是有点麻烦,由于ssh未配置好 , 就不用scp了.同样, 在另外台机器把local的pub key传给对方. 名字改为local machine named 方法 . 有区别于本地的pub key .可以看到对方的pub key已经传输完成 .➢由于上面修改了sshd_config文件 , 其中一行为AuthorizedKeysFile .ssh/authorized_keys为认证读取文件的位置 .我们采取默认的方式 , 在~/.ssh下touch一个authorized_keys文件.将传输过来的对方主机的pub key内容 ,追加到authorized_keys文件上, 如果有多个主机建立了ssh信任机制, 则连续追加即可.如图所示 , 追加成功.➢开始互访第一次访问, 会提示你是否确认访问, 输入yes .第二次访问, 就没有改提示了 . 如下图:而且访问的hosts会自动在默认的~/.ssh目录下生成一个known_hosts文件, 该文件记录了ssh目的主机的ip地址以及公钥和密码信息 .Windows机器ssh到主机上面介绍的是两台小机之间的互相ssh通讯的解决办法 . 通过windows上ssh 到主机来提高访问的高安全性.在本地windows xp的机器上, 安装Secure CRT这个软件.安装完成后, 启动.小结通过以上, ssh配置完成, 可供用来给客户提供加密信息 . 同时可以作为RAC 的配置通讯方式, 相对于简单配置就能成功的rsh , ssh提供的是高安全性. 可以根据不同的需要进行选择 !。
开启CentOS 5.4下的vncserver服务安装好CentOS 5.4后,虽然我们可以通过ssh来远程登陆服务器,但是我们使用ssh 毕竟是一个字符型终端,很多图形界面下很方便的操作在字符型终端下显得非常繁琐,或者有些干脆就不能执行,为此我们需要远程登录图形界面。
一.临时使用远程桌面临时使用远程桌面,需要服务器前有人在操作,并且已经在本机上登陆了Gnome或者Kde桌面。
点击桌面上方任务栏“系统”——“首选项”——“远程桌面”,打开“远程桌面首选项”,按照需要勾选四个选项,并设置登录口令。
此方法和Windows下的远程桌面非常相似。
二.开启vncserver,任何时间都可以连接如果服务器是在机房内,平时无人职守,或者无法在本机登陆桌面,就无法使用远程桌面,我们只能求助于vncserver。
1.首先确认系统是否安装了vnc:#rpm -qa | grepvnc如果没有任何显示,则说明系统没有安装vnc包,需要至CentOS 5.4安装光盘下CentOS 目录下寻找两个vnc开头的安装包,即:vnc-4.1.2-14.el5_3.1.i386.rpmvnc-server-4.1.2-14.el5_3.1.i386.rpm使用root用户安装:#rpm -ivh vnc-4.1.2-14.el5_3.1.i386.rpm#rpm -ivh vnc-server-4.1.2-14.el5_3.1.i386.rpm安装好后,可以再次执行:#rpm -qa | grepvnc如果显示:vnc-server-4.1.2-14.el5_3.1vnc-4.1.2-14.el5_3.1则说明已经安装成功,如果第一次执行后就显示,说明系统已经安装了vnc包。
2.配置vncservers文件#vim /etc/sysconfig/vncservers在文件最后加上:VNCSERVERS=“2:root" 设置登录显示号和用户VNCSERVERARGS[2]="-geometry 1024x768" 设置屏幕分辨率3.配置xstartup文件编辑配置之前,需要使用vncserver命令创建默认配置文件#vncserver输入口令确认口令#vim /root/.vnc/xstartup将文件内原来的内容全部注释掉,只留下以下几行,如果没有则需要添加:#!/bin/sh#Uncomment the following two lines for normal desktop:unset SESSION_MANAGERexec /etc/X11/xinit/xinitrc[ -x /etc/vnc/xstartup ] exec /etc/vnc/xstartup[ -r $HOME/.Xresources ] xrdb $HOME/.Xresourcesxsetroot -solid greyvncconfig -iconicgnome-session & set starting GNOME desktop #为了使用gnome界面,否则是xfce界面保存后退出。
如何使⽤openssh进⾏远程连接SSH连接的建⽴⽅式ssh可以通过密码和密钥(更加安全)这两种⽅式建⽴起客户端与服务端的连接。
SSH连接的实现过程(假设通过密钥的⽅式连接)1. 当客户端发起⼀个ssh连接请求时,它⾸先会告诉服务端需要使⽤的公钥;2. 然后服务端会检查它的~/authorized_keys⽂件,这个⽂件中包含了所有已经保存的客户端公钥,⼀个公钥占据⼀⾏,这些公钥所对应的客户端可以实现免验证登录。
3. 服务端如果在⽂件中找到了请求客户端所对应的公钥,就会⽣成⼀个随机字符串,并使⽤找到的公钥进⾏加密。
这个加密后的信息只能被请求客户端的私钥所解密,然后服务端将这个加密后的字符串发送给请求客户端,以此来验证该客户端是否拥有私钥。
4. 客户端收到来⾃服务端的加密字符串之后,会⽴即使⽤⾃⼰的私钥进⾏解密,并将解密后的随机字符串与之前协商好的会话id结合,⽣成⼀个md5加密的hash值,并回传给服务端。
5. 由于服务端已经知道加密之前的随机字符串和会话id,因此,服务端会在本地将这个随机字符串和会话id进⾏hash,然后和客户端传过来的值进⾏⽐较,如果⼀致,则表⽰请求客户端确实拥有私钥,并允许建⽴连接。
⽣成SSH密码对有⼏种加密算法可以⽤来⽣成SSH密钥,例如RSA、DSA、ECDSA,默认情况下使⽤RSA加密算法。
使⽤如下命令可以⽣成⼀个默认的密钥:$ ssh-keygenGenerating public/private rsa key pair.Enter file in which to save the key (/home/demo/.ssh/id_rsa):这⾥可以指定密钥⽂件的保存位置。
默认是~/.ssh/id_rsa。
点击enter进⼊下⼀步:Enter passphrase (empty for no passphrase):Enter same passphrase again:这⾥可以指定密钥的密码短语,即在密码之上再加⼀层密码验证,增强密钥的安全性。
使用SSH设置服务器只采用密钥认证1.windows下的ssh客户端设置1.1 设置密钥登录这里以SSH secure shell 3.2.9为例。
首先确保服务器ssh服务已启动,用户能够正常登录,然后配置客户端,过程如下:(1) 运行SSH Secure Shell 工具中的“Secure Shell Client ”,选择菜单中“Edit”-> “Setting”,在打开的窗口左侧依次选择“Global Settings”->“User Authentication”->“Keys”,然后看到如下画面。
注:第一次使用时,Private Key file是空的。
(2) 点击“Generate New”,在打开的窗口中点击“Next”弹出生成密钥的画面,选择“RSA”和“2048”,然后点击“Next”,稍等一会,会计算一个密钥。
(3) 看到如下图,参照图片中的内容进行填写,比如key File填写为castor_key,这个无所谓,不要跟其它key重复就好了。
在Passphrase中填写一个密码,这个是保护本地私有密钥的密码,也就是说,即使有人盗用了你的计算机,没有这个密码,也仍然不能使用你的密钥。
注意,这个不是服务器上用户密码。
点击下一步,生成密钥,位置在C:\Documents and Settings\”用户名”\Application Data\SSH\UserKeys目录下。
这个目录应该备份出来,拷贝到U盘或者其它设备上,以便以后重装系统仍然可以采用。
(4) 密钥生成后,应该把公钥上传到服务器。
有两种方式,第一种方法直接选择菜单中“Edit”-> “Setting”,在打开的窗口左侧依次选择“Global Settings”->“User Authenticat ion”->“Keys”,然后点击“Upload”,出现如下画面。
此时,SSH Client应该处于登录状态。
Win7用SSH客户端工具连接虚拟机CentOS5.4的SSH 证书配置方法1.什么是ssh传统的网络服务程序,如:ftp、POP和telnet在本质上都是不安全的,因为它们在网络上用明文传送口令和数据,别有用心的人非常容易就可以截获这些口令和数据。
而且,这些服务程序的安全验证方式也是有其弱点的,就是很容易受到“中间人”(man-in- the-middle)这种方式的攻击。
所谓“中间人”的攻击方式,就是“中间人”冒充真正的服务器接收你传给服务器的数据,然后再冒充你把数据传给真正的服务器。
服务器和你之间的数据传送被“中间人”一转手做了手脚之后,就会出现很严重的问题。
从前,一个名为Tatu Ylonen的芬兰程序员开发了一种网络协议和服务软件,称为SSH(Secure SHell 的缩写)。
通过使用SSH,你可以把所有传输的数据进行加密,这样“中间人”这种攻击方式就不可能实现了,而且也能够防止DNS和IP欺骗。
还有一个额外的好处就是传输的数据是经过压缩的,所以可以加快传输的速度。
SSH有很多功能,虽然许多人把Secure Shell仅当作Telnet的替代物,但你可以使用它来保护你的网络连接的安全。
你可以通过本地或远程系统上的Secure Shell转发其他网络通信,如POP、X、PPP和FTP。
你还可以转发其他类型的网络通信,包括CVS 和任意其他的TCP通信。
另外,你可以使用带TCP包装的Secure Shell,以加强连接的安全性。
除此之外,Secure Shell还有一些其他的方便的功能,可用于诸如Oracle之类的应用,也可以将它用于远程备份和像SecurID卡一样的附加认证。
2.ssh的工作机制SSH分为两部分:客户端部分和服务端部分。
服务端是一个守护进程(demon),他在后台运行并响应来自客户端的连接请求。
服务端一般是sshd 进程,提供了对远程连接的处理,一般包括公共密钥认证、密钥交换、对称密钥加密和非安全连接。
客户端包含ssh程序以及像scp(远程拷贝)、slogin(远程登陆)、sftp(安全文件传输)等其他的应用程序。
他们的工作机制大致是本地的客户端发送一个连接请求到远程的服务端,服务端检查申请的包和IP地址再发送密钥给SSH的客户端,本地再将密钥发回给服务端,自此连接建立。
SSH被设计成为工作于自己的基础之上而不利用超级服务器(inetd),虽然可以通过inetd上的tcpd 来运行SSH进程,但是这完全没有必要。
启动SSH服务器后,sshd运行起来并在默认的22端口进行监听(你可以用# ps -waux | grep sshd来查看sshd是否已经被正确的运行了)如果不是通过inetd启动的SSH,那么SSH就将一直等待连接请求。
当请求到来的时候SSH守护进程会产生一个子进程,该子进程进行这次的连接处理。
但是因为受版权和加密算法的限制,现在很多人都转而使用OpenSSH。
OpenSSH是SSH的替代软件,而且是免费的,3.安装使用OpenSSHCentOS5.4中已经包括了OpenSSH,也可以从网络上下载并安装OpenSSH,它是完全免费的。
在VirtualBox中的CentOS虚拟机上登录,图形方式则打开一个Terminal 命令终端(命令行方式则直接敲命令)。
# cd ~/.ssh执行以下命令生成密钥对:# ssh-keygen -t rsaGenerating public/private rsa key pair.Enter file in which to save the key (/home/yu/.ssh/id_rsa): //密钥将要保存的目录Enter passphrase (empty for no passphrase): //输入远程登录的口令Enter same passphrase again:Your identification has been saved in /home/yu/.ssh/id_rsa. //生成的私钥Your public key has been saved in /home/yu/.ssh/id_rsa.pub. //生成的公钥The key fingerprint is:51:3e:d7:77:a4:22:d8:bb:f2:d2:2e:e6:5c:e3:33:ed其中公共密钥保存在~/.ssh/id_rsa.pub,私有密钥保存在~/.ssh/id_rsa在输入口令后可能会提示open /home/yu/.ssh/id_rsa failed: No such file or directory.是因为相应的目录和文件不存在,去这个目录下检查一下,如果没有,先创建。
我是直接在Xwindow模式下创建相应目录和一个id_rsa.pub空文件。
#echo id_rsa.pub >> authorized_keys //重命名生成的公钥,以备SecureCRT下载使用#rm -rf id_rsa.pub //删除原始公钥文件#chmod 700 /home/yu/.ssh //修改目录属性#chmod 600 authorized_keys //修改公钥文件属性,只允许root修改在用SSH Secure Shell Client登陆的时候走了一点弯路,所以回头在CentOS里面ping了一下IP:注意:这里的IP是192.168.65.130而进入win7下面的虚拟IP则是192.168.65.1密钥在服务端已经生成了,此时回到SecureCRT,用password方式登录到服务器上,进入~/.ssh 目录用SSH Secure Shell Client登陆如下:注意:第一次登陆,用password方式,要用CentOS里面ping出来的IP即192.168.65.130。
用SecureCRT登陆进去后执行如下命令:#sz id_rsa //发送文件,SecureCRT中有默认的下载目录#sz authorized_keys将公私钥发送到客户端,此时在SecureCRT的download目录下重命名authorized_keys为id_rsa.pub,只要保证两个文件名一致就行。
//这里我们是在使用本机的虚拟机作为server端,//在XP系统下使用CRT登录虚拟主机中的server,所以才有此步骤详细的细节可以参见鸟哥的私房菜,chapter13,远程联机服务器篇设置好ip地址,端口号,此时就可以顺利在SecureCRT中使用PublicKey方式远程登陆上CentOS 服务器了。
居然提示命令没找到!算了,还是用SSH Secure Shell Client吧。
选择菜单中“Edit”-> “Setting”,在打开的窗口左侧依次选择“Global Settings”->“User Authentication”->“Keys”;点击“Generate New”,在打开的窗口中点击“Next”,选择“RSA”和“2048”,然后点击“Next”,稍等一会,会计算一个密钥。
看到如下图,参照图片中的内容进行填写,比如在Passphrase中填写一个密码,这个是保护本地私有密钥的密码,也就是说,即使有人盗用了你的计算机,没有这个密码,也仍然不能使用你的密钥。
注意,这个不是服务器上用户密码。
填写完毕后,点击“下一步”,密钥就生成完了,点击完成。
选择刚才生成的密钥,点击“Upload”,会弹出如下窗口:参考窗口中的内容填写,注意名称是自动出现的,不用管。
第二项需要修改为.ssh ,第三项不用管。
然后点“Upload”,如下图所示:如果没有提示错误,那么公钥就自动被上传到服务器上去了。
接着要做一些手工的操作,在命令行界面里,输入如下命令:(左脚注意前面的$符号不是命令,只是个提示符) #cd .ssh/# ls -l会至少看到你刚才生成的.pub 公钥文件和一个authorization 认证配置文件。
如果没有你刚才起的名子的文件,那就有问题,检查上面的过程。
接着做下面的命令,假设我生成的是mkey.pub# ssh-keygen -i -f mkey.pub >> authorized_keys (关键就是这句命令)然后,删除刚才生成的文件:# rm -rf mkey.pub#rm -rf authorization#chmod 400 *# cd ..#chmod 700 .ssh退出SSH 工具。
重新发起一次链接,参照下图进行选择:注意最后一项“P lic Key”点击链接,然后会看到下面的提示:这个提示就是要你输入刚才设置的“Passphrase”密码,输入正确后,就会登录到系统中了。
客户端配置最后一步,也最重要:本地会保存你生成的私钥和公钥,刚才所上传上去的就是公钥。
每次登录,软件都会自动拿本地的私钥和远端的公钥做加密运算,然后才能登录。
所以,我们必须保护我们本地的密钥文件,这个就象招商银行网上银行专业版的数字证书一样,丢了就不能再次登录了。
密钥文件存放在本地目录:(如果是WinXP系统,可能是这样的目录)C:\Documents and Settings\uplinux\Application Data\SSH\UserKeys(如果是Win7系统,我找了半天没找到,只好用笨方法找了,如下图)把这个目录里的文件备份出来,压缩成带密码的压缩包,弄到手机里或者U盘里,以备重做系统后可用。
使用root用户编辑/etc/ssh/sshd_config文件,将PasswordAuthentication yes改为PasswordAuthentication no,保存文件并退出,重新启动sshd服务。
至此之后,服务器不再接受密码认证,客户端必须使用密钥才能正常登录。
不过一定要注意密钥不要搞丢了,不然自已也不能远程登录系统了。