1.怎样用SSH替代Telnet获得更安全连接?
如果你一直利用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命令。
运行下面的命令: Router> Show flash 该命令显示已加载的IOS镜像名称。你可以用结果对比你的供应商的支持特性列表。
在你验证了你的设备支持SSH之后,请确保设备拥有一个主机名和配置正确的主机域,就像下面的一样: Router> config terminal Router (config)# hostname hostname Router (config)# ip domain-name domainname 在这个时候,你就可以启用路由器上的SSH服务器。 要启用SSH服务器,你首先必须利用下面的命令产生一对RSA密钥: Router (config)# crypto key generate rsa 在路由器上产生一对RSA密钥就会自动启用SSH。
如果你删除这对RSA密钥,就会自动禁用该SSH服务器。 实施SSH的最后一步是启用认证,授权和审计(AAA)。
在你配置AAA的时候,请指定用户名和口令,会话超时时间,一个连接允许的尝试次数。像下面这样使用命令: Router (config)# aaa new-model Router (config)# username password Router (config)# ip ssh time-out Router (config)# ip ssh authentication-retries 要验证你已经配置了SSH并且它正运行在你的路由器上,执行下面的命令: Router# show ip ssh 在验证了配置之后,你就可以强制那些你在AAA配置过程中添加的用户使用SSH,而不是Telnet。
你也可以在虚拟终端(vty)连接中应用SSH而实现同样的目的。这里给出一个例子: Router (config)# line vty 0 4 Router (config-line)# transport input SSH 在你关闭现存的Telnet会话之前,你需要一个SSH终端客户端程序以测试你的配置。
我极力推荐PuTTY;它是免费的,而且它是一个优秀的终端软件。 最后的想法 当你在你的路由器和交换机上启用了SSH之后,保证你修改了所有现存的访问控制列表以允许对这些设备的连接。
你现在可以向你的上级报告你已经堵上了一个巨大的安全漏洞:现在所有的网络管理会话都被加密并且被保护着。
2.如何使用SSH创建快捷方式?
当你在执行 ssh 命令登录服务器时,有没有被需要输入命令后面的一长串参数感到厌烦呢?比如,名为 serveradmin@domain。
com 的用户要登录到 example。com 主机上,需执行: ssh serveradmin@domain。
com@example。com 你当然可以使用 alias,但 SSH 本身也提供有相应的解决方案──你可以为需要经常访问的远程主机创建快捷方式。
找找看你的用户主目录下是否有 。ssh,若没有,则使用 mkdir 创建一个; 使用你喜欢的文本编辑器(如 Vim)来创建 config 配置文件: vim ~/。
ssh/config 仍以前面的例子来说明,假设我要创建的快捷方式名为 lt,则加入下面的内容,其中 HostName 为主机名,User 为用户名: Host lt HostName example。com User serveradmin@domain。
com 保存编辑。 现在,你只要执行 ssh lt 就可以了。
3.如何用SSH替代Telnet建立更安全的连接?
如果你一直利用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命令。
运行下面的命令: Router> Show flash 该命令显示已加载的IOS镜像名称。你可以用结果对比你的供应商的支持特性列表。
在你验证了你的设备支持SSH之后,请确保设备拥有一个主机名和配置正确的主机域,就像下面的一样: Router> config terminal Router (config)# hostname hostname Router (config)# ip domain-name domainname 在这个时候,你就可以启用路由器上的SSH服务器。 要启用SSH服务器,你首先必须利用下面的命令产生一对RSA密钥: Router (config)# crypto key generate rsa 在路由器上产生一对RSA密钥就会自动启用SSH。
如果你删除这对RSA密钥,就会自动禁用该SSH服务器。 实施SSH的最后一步是启用认证,授权和审计(AAA)。
在你配置AAA的时候,请指定用户名和口令,会话超时时间,一个连接允许的尝试次数。像下面这样使用命令: Router (config)# aaa new-model Router (config)# username password Router (config)# ip ssh time-out Router (config)# ip ssh authentication-retries 要验证你已经配置了SSH并且它正运行在你的路由器上,执行下面的命令: Router# show ip ssh 在验证了配置之后,你就可以强制那些你在AAA配置过程中添加的用户使用SSH,而不是Telnet。
你也可以在虚拟终端(vty)连接中应用SSH而实现同样的目的。这里给出一个例子: Router (config)# line vty 0 4 Router (config-line)# transport input SSH 在你关闭现存的Telnet会话之前,你需要一个SSH终端客户端程序以测试你的配置。
我极力推荐PuTTY;它是免费的,而且它是一个优秀的终端软件。
4.为什么用SecureCRT或putty通过ssh登录Linux主机很慢
大家有没有发现,输入密码之后还要过很久才会显示命令提示符。这是不是因为Linux的服务器太糟糕性能太低才会这样呢?其实这是因为OpenSSH在用户登录的时候验证IP。OpenSSH会根据用户的IP使用反向DNS找到主机名,再使用DNS找到IP地址,最后匹配一下登录的IP是否合法。如果你的网络里没有DNS服务器,或者你的主机名是随便捏造的,花的时间就比较多。
安全和方便有时候两个不得不选一个。我比较希望OpenSSH帮我把等待的时候省起来。方法是修改/etc/ssh/sshd_config文件,添加(或者修改)一行:
相信很多使用Linux的朋友都会在Windows下使用putty之类的工具登录Linux主机。大家有没有发现,输入密码之后还要过很久才会显示命令提示符。这是不是因为Linux的服务器太糟糕性能太低才会这样呢?其实这是因为OpenSSH在用户登录的时候验证IP。OpenSSH会根据用户的IP使用反向DNS找到主机名,再使用DNS找到IP地址,最后匹配一下登录的IP是否合法。如果你的网络里没有DNS服务器,或者你的主机名是随便捏造的,花的时间就比较多。
安全和方便有时候两个不得不选一个。我比较希望OpenSSH帮我把等待的时候省起来。
5..ssh目录更换主机以后免密还能生效么
Linux ssh密钥自动登录
在开发中,经常需要从一台主机ssh登陆到另一台主机去,每次都需要输一次login/Password,很繁琐。
实现从主机A免密码登陆到主机B,需要以下几个步骤:
1. 在主机A“~/.ssh/”目录下执行命令“ssh-keygen -t rsa”(生成过程中,一路回车),生成两个文件id_rsa和id_rsa_pub,这两个文件实际上是一个密钥对,id_rsa是私钥,id_rsa_pub是公钥;
2. 将文件id_rsa_pub从主机A拷贝(可以使用scp命令)到主机B“~/.ssh/”目录下;
3. 登陆到主机B上, 进入“~/.ssh/”目录,将从主机拷贝来的id_rsa_pub文件添加到文件“authorized_keys”尾部(cat id_rsa_pub>>authorized_keys),若文件“authorized_keys”不存在,则创建;确保“~/.ssh/authorized_keys”的权限至少为600;
4. 从主机A登陆主机B,第一次登陆时主机B要自动设置known_hosts文件,所以需要输入yes,以后就不需要了;
P.S.当然你登陆主机A和主机B用的是同一个用户名
锦上添花:
假设你的用户名为user,已经设置好了密钥登陆主机B。那么你可以在shell的配置文件(比如.bashrc)里定义一个alias
alias b='ssh user@B'
以后每次你启动shell终端后,输入b,回车,直接就ssh登陆到主机B上。
转载请注明出处windows之家 » win10怎么用ssh登录主机