windows 中如何用SSH 连接 linux

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了windows 中如何用SSH 连接 linux相关的知识,希望对你有一定的参考价值。

windows 中如何用SSH 连接 linux?懂的人给我说明以下几个问题:
1、linux下必须要装SSH才能在windows下用SSH连接到linux吗?
2、linux下如何设置IP和网关地址,这个IP设置有没有什么具体限制(比如:需不需要和V1、V8等处于同一网段),其次,网关的设置有没有什么具体限制?
3、除了以上问题之外,windows下除了要安装SSH还需要做什么工作才能连接到Linux系统。
大家最好回答详细一点,因为我是刚上手这个东西,我的邮箱:lixiaolong2114@163.com;QQ:153082011(加我时发送验证消息为:"linux讨论"就可以了)。
补充:我的linux和windows是装在同一台机器上的,linux系统是通过unix虚拟机来安装的,不要给我说什么ifconfig之类的IP设置命令,我的linux版本是不认识这个命令的,linux是英文版的,你们直接给我说一下在linux的GUI界面中如何操作以设置IP就可以了,防火墙要关闭是关闭哪里的防火墙(windows防火墙、windows中的SSH防火墙、linux系统中的防火墙)?说清楚一点,不要在哪里东说一句、西说一句。我都不清楚你们在说什么。

这里的”远程”操控的方法实际上也不是真正的远程.,此操作方法主要是在一个局域网内远程操控电脑 (在一个路由器下)。

操作步骤:

1、百度搜索“SSH Secure Shell Client”下载并安装。

2、打开我们安装好的SSH Secure Shell Client。

3、点击Profiles选择add profiles 并添加profils名称(自定义一个名字)

4、然后点击刚定义好的profiles,出现如下界面,填写远程linux的ip,用户名,密码,port 默认为22;Authentication 选择password,点击connect。

5、出现如下界面,表示连接成功。

6、选择文件夹按钮可以用“资源管理器”的形式查看,传输文件。

7、出现如下界面,左面是指你的桌面,右面是你的远程linux桌面,接下来你就可以尽情操纵你的linux了。

参考技术A

启动Linux并登入到系统:


下面来检查一下默认安装的系统是否安装了SSH服务:

从上图看到SSH服务已经安装并正常运行,首先要备份配置文件,任何时候我们需要修改配置文件的时候都建议先把原始文件备份:


下面我们就来修改SSHD_config配置文件,需要修改两个地方,首先们需要开放SSH用到的22端口,把下图中前面的#号去掉即可:

第二个需要修改的地方是PermitRootLogin

     yes这个是否允许超级管理员远程登录,(另外还有PasswordAuthentication yes暂时不知道是否有依赖) 同样的我们把前面的#号去掉即可:


保存退出,并且重启SSH服务:


service  ssh    

restart 


现在我们使用SSH工具来连接一下刚才我们配置好的Linux服务器,SSH连接工具有很多,这里使用putty来测试连接,运行软件,并输入服务器的IP地址,点击下方向的“OPEN”连接到服务器:


跳出一个警告窗口,大致是说服务器没有注册密钥之类的,是否信任服务器,我们点击“是”就可以成功的连接到刚配置好的Linux服务器了:

参考技术B Telnet软件包
客户端:telnet-0.17-38.el5.i386.rpm
服务端:telnet-server-0.17-38.el5.i386.rpm

telnet没有安装就安装下哈~,确保安装前已经安装xinetd服务

Telnet访问控制
可以使用/etc/hosts.allow和/etc/hosts.deny文件来限制客户端访问,这两个文件是tcpd服务配置文件,tcpd服务可以控制外部主机对本机服务的访问。

格式:
服务进程名:主机列表:[可选的命令操作]
Telnet限制最大连接数
可以编辑/etc/xinetd.d/telnet文件,然后在中添加一行instances = 需要限制的数字

Telnet服务启动方法
由于telnet是由xinetd服务管理,所以telnet启动方法和其他服务不大一样哈~
chkconfig --level 35 krb5-telnet on

也可以使用ntsysv启动

通过修改/etc/xinetd.d/krb5-telnet文件也可以启动telnet服务,而ntsysv从本质上也是通过修改此文件的,修改方法将"disable=yes"改为"disable=no"就可以了

修改了配置文件我们还需要重启xinetd服务来使用配置生效

现在我们可以查看一下主机是否开启了23端口
netstat -tna |grep 23

现在客户端就可以telnet上服务器了,默认不允许root用户通过telnet登录,我们可以使用su -切换到root用户身份。

如果服务器配置了防火墙的话,就禁止了telnet登录。

这样客户端就telnet连接不上了

还需要允许客户端访问telnet服务所使用的端口才可以,默认使用TCP协议的23端口。
iptables -I INPUT -p tcp --dport 23 -j ACCEPT
 
现在就又可以登录了哈~
 
我们还可以更新telnet默认端口号,这样可以降低安全风险,注意不能修改成已经在使用的端口
vim /etc/services
 
修改后重启xinetd服务

现在我们还需要修改iptables规则
iptables -I INPUT -p tcp --dport 2388 -j ACCEPT
 
客户端XP登录测试下哈~

 
##############Michael分割线################
OpenSSH服务需要4个软件包
openssh-4.3p2-24.el5.i386.rpm:包含OpenSSH服务器及客户端需要的核心文件
openssh-askpass-4.3p2-24.el5.i386.rpm:支持对话框窗口的显示,是一个基于X系统的密码诊断工具
openssh-clients-4.3p2-24.el5.i386.rpm:OpenSSH客户端软件包
openssh-server-4.3p2-24.el5.i386.rpm:OpenSSH服务器软件包
没有就安装一下哈~
 
OpenSSH配置文件
OpenSSH常用配置文件有两个/etc/ssh/ssh_config和/etc/sshd_config。
ssh_config为客户端配置文件而sshd_config为服务器端配置文件
 
ssh_config配置文件

Host:指定配置生效的主机,设置的主机将使用其他设置,“*”表示所有的计算机。
ForwardAgent:如果存在验证代理,可以设置连接是否经过验证代理转发给远程计算机。
ForwardX11:设置X11连接是否被自动重定向到安全的通道和显示集。
RhostsAuthentication:设置是否使用基于rhosts安全验证。
RhostsRSAAuthentication:设置是否使用RSA算法的基于rhosts安全验证。
RSAAuthentication:设置是否使用RSA算法进行安全验证。
PasswordAuthentication:设置是否使用口令验证。
HostbasedAuthentication:基于主机的认证
FallBackToRsh:设置如果用SSH连接出现错误是否自动使用RSH。
UseRsh:设置是否在这台计算机上使用rlogin/rsh。
BatchMode:如果设置为yes,passphrase/password的提示将被禁止。当不能交互式输入口令的时候,这个选项对脚本文件和批处理任务非常有用。
CheckHostIP:设置SSH是否查看连接到服务器的主机的IP地址来防止DNS欺骗。建议设置为yes。
AddressFamily:指定sshd应当使用哪种地址族
ConnectTimeout:设置连接超时。
StrictHostKeyChecking:如果设置为yes,SSH就不会自动把计算机的密匙加入$HOME/.ssh/known_hosts文件,并且一旦计算机的密匙发生变化,就拒绝连接。
IdentityFile:设置从哪个文件读取用户的RSA安全验证标识。
Port:设置连接到远程主机的端口。
Protocol:设置客户端使用的SSH版本。
Cipher:设置加密方式。
Ciphers:指定SSH-2允许使用的加密算法
EscapeChar:设置escape字符。
Tunnel:设置穿越不被信任的网络
TunnelDevice any:any
PermitLocalCommand no
/etc/ssh/sshd_config配置文件

Port 22
设置sshd监听端口号
ListenAddress 0.0.0.0
设置sshd服务器绑定的IP地址,0.0.0.0表示侦听所有地址
HostKey /etc/ssh/ssh_host_key
设置包含计算机私人密匙的文件
ServerKeyBits 768
定义服务器密匙长度
LoginGraceTime 2m
设置如果用户不能成功登录,在切断连接之前服务器需要等待的时间(单位为秒)
KeyRegenerationInterval 1h
设置在多少秒之后自动重新生成服务器密匙。重新生成密匙是为了防止用盗用的密匙解密被截获的信息。
PermitRootLogin no
设置root是否能够使用SSH登录,为了保证服务器安全,建议设置为no
StrictModes yes
设置SSH在接收登录请求之前是否检查用户家目录和rhosts文件的权限和所有权。防止目录和文件设置成任何人都有写权限。
RhostsAuthentication no
设置只用rhosts或/etc/hosts.equiv进行安全验证是否满足需要。
RhostsRSAAuthentication no
设置是否允许用rhosts或/etc/hosts.equiv加上RSA进行安全验证。
RSAAuthentication yes
设置是否允许只有RSA安全验证。
IgnoreUserKnownHosts no
设置ssh daemon是否在进行RhostsRSAAuthentication安全验证的时候忽略用户的$HOME/.ssh/known_hosts。
IgnoreRhosts yes
设置验证的时候是否使用rhosts和shosts文件
PasswordAuthentication yes
设置是否允许口令验证。
PermitEmptyPasswords no
设置是否允许用口令为空的帐号登录。
X11Forwarding yes
设置是否允许X11转发
PrintMotd yes
设置sshd是否在用户登录的时候显示/etc/motd中的信息。
SyslogFacility AUTH
设置在记录来自sshd的消息时是否给出facility code。
LogLevel INFO
设置记录sshd日志消息的层次
AllowUsers michael
设置允许的用户,数量可以为多个,使用空格隔开。
OpenSSH身份验证
(1)口令验证
ssh -l [远程主机帐号] [远程服务器主机名或IP地址] 
ssh -l michael 192.168.8.188
如果通信正常将会收到如下信息

第一次登录服务器时系统没有保存远程主机的信息,为了确认该主机身份会提示用户是否继续连接,输入yes后登录,这时系统会将远程服务器信息写入用户主目录下的$HOME/.ssh/known_hosts文件中,下次再进行登录时因为保存有该主机信息就不会再提示了哈~

(2)密匙认证
1)配置远程服务器,禁止口令认证
vim /etc/ssh/sshd_conf

2)客户端生成密匙
如果专用ssh系统帐号为51cto进行远程管理,可以使用51cto帐号登录后执行ssh-keygen生成密匙,因为rhel5使用的是ssh2,所以要加参数-d
ssh-keygen -d

提示输入密匙文件的保存路径,选择默认继续哈~
 
下面要求输入密码,这里的passphrase密码是对生成的私匙文件(/home/51cto/.ssh/id_dsa)的保护口令,如果不设置可以回车。公匙文件为
/home/51cto/.ssh/id_dsa.pub。
 
3)发布公匙
使用ssh-copy-id命令将客户端生成的公钥发布到远程服务器192.168.8.188,并使用-i参数指定本地公钥的存放位置。
ssh-copy-id -i /home/51cto/.ssh/id_dsa.pub 192.168.8.188
 
4)连接远程服务器
ssh -l 51cto 192.168.8.188

其他客户端设置参考
RHCE课程-RH131Linux管理笔记五-Linux远程登陆telnet及ssh服务
#####################Michael分割线#######################
参考技术C 1.大部分Linux系统中都默认安装了SSH服务器,只要在Windows系统中安装一个客户端软件,就可以连接到Linux了.常见的客户端软件有putty,securecrt,windows secure shell等.
2.设置ip:ifconfig eth0 ip地址
设置网关:route add default gw 网关地址
网关地址就是你所在网段的路由器的地址或者其他网关类设备的地址,与你的地址在同一个网段中。
3.Windows系统只要安装了ssh客户端软件,并且网络与Linux能够连通,就可以连接到Linux了。
参考技术D linux下必须安装ssh才能在windows下使用ssh连接到linux,linux设置ip不需要指定网关,只要他们在一个局域网之内,如果不在才需要linux指定网关,在windows中使用putty这个工具软件来连接linux ssh。

如何用xmanager启动Linux上的图形界面程序

参考技术A 1,利用Xmanager,启用XDMCP(可直接修改配置文件,也可以采用在Xshell中运行gdmconfig或gdmsetup,选择XDMCP选项卡,勾选启动XDMCP即可),Xbrowser即可发现主机, 以图形化方式访问linux。 2,linux启用VNC服务,客户端即可用浏览器(通过自动加载的JAVA Applet插件)或VNC的windows版本的客户端VNC Viewer 以图形化方式来访问linux。 3,利用Xmanager的Xshell工具,SSH远程连接至Linux主机,在linux命令提示符下直接运行gnome-session或startkde源码天空,Xmanager会自动运行Xmanager-Passive来接收由SSH转发至本地的图形界面信息。 以上提供的方法都是通过相关工具实现linux桌面远程转发至本地(XDMCP实现)来实现本地的图形化管理。 Linux还有个WEB方式的管理工具 webmin(用Perl写成,采用Apache,可实现web方式管理linux主机)。

以上是关于windows 中如何用SSH 连接 linux的主要内容,如果未能解决你的问题,请参考以下文章

在VS2013 ASP.NET中如何用BulletedList连接SQL数据库

在WINDOWS XP系统环境中如何用DOS命令打开C盘中的 Program Files 文件夹

sql 中如何用别名作为查询条件

在delphi中如何用combobox实现分级读取数据库中的内容

sublime中如何用less实现css预编译

Linux系统中如何用shell脚步判断是不是telnet成功。