❶ linux下最常用的远程管理工具是什么 ss
在我们日常管理与维护服务器个过程中,我们都需要使用远程连接工具,今天我们就一同来总结下Linux常用的安全远程连接工具-OpenSSH。
【远程登录协议】
1、telnet:是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主
机工作的能力。默认使用的是TCP的23号端口,采用C/S架构,在用户登录的过程中传输的信息都是明文信息,安全无法保障,所以不建议用telnet。
2、ssh:为Secure Shell 的缩写,由IETF的网络工作小组所制定;SSH
为建立在应用层和传输层基础上的安全协议。SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH
协议可以有效防止远程管理过程中的信息泄露问题。默认使用的是TCP的22号端口,也是基于C/S架构,SSH有两个版本v1与v2。
sshv1:基于CRC-32做MAC(消息摘要认证),不安全,强烈建议不使用;
sshv2:基于双方主机的协商选择使用最安全的MAC方式 ,其有如下特点:1、加密机制及MAC机制由双方协商选定;2、基于DH实现密钥交换,基于RSA或DSA实现身份认证;3、客户端通过检查服务器端的主机密钥来判断是否能够继续通信;
【OpenSSH简述】
OpenSSH 是一组用于安全地访问远程计算机的连接工具。它可以作为rlogin、rsh
rcp以及telnet的直接替代品使用。更进一步,其他任何TCP/IP连接都可以通过SSH安全地进行隧道/转发。OpenSSH
对所有的传输进行加密,从而有效地阻止了窃听、连接劫持,以及其他网络级的攻击。OpenSSH 由 OpenBSD project 维护。
登录过程和使用rlogin或telnet建立的会话非常类似。在连接时,SSH
会利用一个密钥指纹系统来验证服务器的真实性。只有在第一次连接时,用户会被要求输入yes进行确认,之后的连接将会验证预先保存下来的密钥指纹。如果保
存的指纹与登录时接收到的不符, 则将会给出警告。 指纹保存在 ~/.ssh/known_hosts中,对于SSHv2指纹,则是
~/.ssh/known_hosts2。
默认情况下,较新版本的OpenSSH只接受SSHv2连接。如果能用版本2则客户程序会自动使用,否则它会返回使用版本1的模式。此外,也可以通
过命令行参数-1或-2来相应地强制使用版本1或2。 保持客户端的版本1能力是为了考虑较早版本的兼容性,建议尽量使用版本2。
【SSH服务器和客户端工作流程】
OpenSSH使用C/S架构:
服务端工具(S):sshd
客户端工具(C):ssh命令、putty、xshell、securecrt、sshshellclient;
【OpenSSH客户端组件-ssh】
配置文本:/etc/ssh/ssh_config
使用方法:
ssh [username@] host [COMMAND]或 ssh -l username host [COMMAND]
-p PORT:指定远程服务器端口;
-l username:指定登录远程主机的用户,不指定则使用当前用户;
username@:等同于 -l username;
如果设置了COMMAND,表示使用username账户登录远程主机执行一次指定的命令并返回结果,不会停留在远程主机上;
[root@www ~]# ssh 192.168.0.110 #使用root用户登录;
The authenticity of host '192.168.0.110 (192.168.0.110)' can't be established.
RSA key fingerprint is 01:2e:43:cc:bc:1d:f1:e5:f0:f4:89:78:74:a9:49:44.
Are you sure you want to continue connecting (yes/no)? yes #第一次连接,需手动进行确认;
Warning: Permanently added '192.168.0.110' (RSA) to the list of known hosts.
[email protected]'s password: #输入远程主机root账户的密码;
Last login: Mon May 11 16:44:52 2015 from 192.168.0.104
[root@mailCentOS6 ~]# #登录成功了,远程主机名为mailCentOS6;
[root@mailCentOS6 ~]# ls #显示远程主机root家目录下的文件;
2.sh boot.iso install.log sdb.mbr test1
anaconda-ks.cfg crontab install.log.syslog \temp\test
[root@mailCentOS6 ~]# exit #退出登录;
logout
Connection to 192.168.0.110 closed.
[root@www ~]# ssh [email protected] ls #使用root登录远程主机,执行一次ls命令,返回结果便退出;
[email protected]'s password: #第二次连接,就不需要输入yes了,直接输入密码即可;
2.sh
anaconda-ks.cfg
boot.iso
crontab
install.log
install.log.syslog
sdb.mbr
\temp\test
test1
[root@www ~]# #看到了吗,我们当前并没有登录在远程主机;
【OpenSSH服务器端组件-sshd】
配置文件:/etc/ssh/sshd_config(通过修改此文件可以修改ssh的默认监听端口与其他参数)
服务脚本:/etc/rc.d/init.d/sshd
服务启动|停止|重启:serveice sshd start|stop|restart
脚本配置文件:/etc/sysconfig/sshd
配置参数
# man sshd_config 查看配置参数的说明;
# vim /etc/sysconfig/sshd 通过编辑配置文件来修改配置参数;
#+空格+文字:以此格式开头的行表示改行为注释说明;
#+文字:以此格式开头的行表示可启用选项,不改变则表示使用该选项的默认设置,反之使用设定值“#”要去掉哦!
例:#Port 22 如不去掉#且22不变,表示使用默认的22号端口;
若把#Port 22改成port 7777,表示把sshd的监听端口改成7777;
注意:修改参数与配置后,必须重启服务(service sshd restart).
经常需要修改的参数:
[root@www ~]# cat /etc/ssh/sshd_config
# $OpenBSD: sshd_config,v 1.80 2008/07/02 02:24:18 djm Exp $
# This is the sshd server system-wide configuration file. See
# sshd_config(5) for more information.
# This sshd was compiled with PATH=/usr/local/bin:/bin:/usr/bin
# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented. Uncommented options change a
# default value.
#Port 22 #修改默认监听的端口;
port 7777 #把sshd的监听端口改成7777;
#AddressFamily any #监听的地址家族,指定是监听在IPV4上还是IPV6上,any表示所有;
#ListenAddress 0.0.0.0 #指定监听的地址 (0.0.0.0表示本机的所有地址);
#ListenAddress ::
# Disable legacy (protocol version 1) support in the server for new
# installations. In future the default will change to require explicit
# activation of protocol 1
Protocol 2
# HostKey for protocol version 1
#HostKey /etc/ssh/ssh_host_key #使用shhv1用到的主机密钥;
# HostKeys for protocol version 2
#HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_dsa_key
# Lifetime and size of ephemeral version 1 server key
#KeyRegenerationInterval 1h
#ServerKeyBits 1024 #密钥长度;
# Logging
# obsoletes QuietMode and FascistLogging
#SyslogFacility AUTH
SyslogFacility AUTHPRIV
#LogLevel INFO
# Authentication:
#LoginGraceTime 2m #登录宽限期;
#PermitRootLogin yes #是否允许管理员直接登录;
#StrictModes yes
#MaxAuthTries 6 #最大密码输入错误次数;
#MaxSessions 10 #最大会话个数;
#RSAAuthentication yes #是否允许使用RSA机制来认证;
#PubkeyAuthentication yes
#--------中间不长改变的配置参数略----------
Subsystem sftp /usr/libexec/openssh/sftp-server #表示是否启动sftp功能;
# Example of overriding settings on a per-user basis
#Match User anoncvs
# X11Forwarding no
# AllowTcpForwarding no
# ForceCommand cvs server
sshd认证方式:
1、基于口令的认证;
2、基于密钥的认证;
# ssh-keygen -t rsa 用rsa算法生成密钥,默认密钥为id_rsa(私钥), id_rsa.pub(公钥)
# ssh-keygen -f /path/to/somefile -P oldpassword 根据现有的密钥文件生成密钥
-f /path/to/somefile: 密钥文件保存在的位置;
-P '': 指定生成旧密钥时使用的密码;
方法一:把本地主机生成的公钥 id_rsa.pub使用scp复制到远程主机的上,在远程主机使用cat id_rsa.pub>>.ssh/authorized_keys追加该公钥信息,这样就可以实现基于密钥认证的ssh登录;
方法二:# ssh--id -i .ssh/id_rsa.pub USERNAME@HOST
[root@www ~]# ssh-keygen -t rsa #用rsa算法生成密钥;
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): #指定密钥存放路径及名称,一般不用
#修改,直接回车;
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:
c2:f9:c2:3d:4d:ca:52:39:7a:a7:33:de:42:11:d3:8f [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
| . |
| o . |
| o o |
| . ...E . |
| + S.. |
| . B.= |
| =.B o |
| ++= |
| .o+. |
+-----------------+
[root@www ~]# ssh-keygen -f .ssh/id_rsa -P '' #根据现有密钥文件重新生成密钥;
Generating public/private rsa key pair.
.ssh/id_rsa already exists.
Overwrite (y/n)? y #提示是否确定要覆盖;
Your identification has been saved in .ssh/id_rsa.
Your public key has been saved in .ssh/id_rsa.pub.
The key fingerprint is:
bf:55:f0:0b:a5:ee:4e:4a:1d:d3:b1:0e:66:ee:55:9b [email protected]
The key's randomart image is:
+--[ RSA 2048]----+
| |
| |
| . o |
| * o |
| S O = .|
| . * B oo|
| o * +E |
| . B . |
| o.+ |
+-----------------+
#-----使用方法一:实现通过密钥文件完成身份验证(不需要输入密码)-----
[root@www ~]# scp .ssh/id_rsa.pub [email protected]:/root/ #使用spc命令复制公钥文件到远程
#主机的用户家目录下的.ss/路径下;
[email protected]'s password: #输入登录远程主机的密码;
id_rsa.pub 100% 397 0.4KB/s 00:00 #提示复制成功;
[root@mailCentOS6 ~]# ls .ssh/ #验证确认文件复制成功;
id_rsa.pub known_hosts
[root@mailCentOS6 ~]# touch .ssh/authorized_keys #路径内没有自动验证密钥文件,创建一个;
[root@mailCentOS6 ~]# cat .ssh/id_rsa.pub >> .ssh/authorized_keys #把公钥追加到自动验证密钥文件;
[root@www ~]# ssh 192.168.0.110
Last login: Mon May 11 20:45:10 2015 from 192.168.0.111
[root@mailCentOS6 ~]# #OK了,看到了没有,不用输入密码我们就直接可以远程登录了!!
#-----使用方法二:实现通过密钥文件完成身份验证(不需要输入密码)-----
[root@mailCentOS6 ~]# rm -f .ssh/authorized_keys #删除原有保存的自动验证密钥文件;
[root@www ~]# ssh--id -i .ssh/id_rsa.pub [email protected] #使用命令自动传输生成自动验证密钥文件;
[email protected]'s password:
Now try logging into the machine, with "ssh '[email protected]'", and check in:
.ssh/authorized_keys #提示生成的文件;
to make sure we haven't added extra keys that you weren't expecting.
[root@www ~]# ssh 192.168.0.110 #验证看看是否可以登录;
Last login: Mon May 11 21:02:29 2015 from 192.168.0.111
[root@mailCentOS6 ~]# ls .ssh/ #看到了没有,我们现在已经登录到了mailCentOS6这台主机上了;
authorized_keys known_hosts
【命令补充】
scp: 利用ssh协议在主机之间实现安全文件传输的工具
scp SRC1... DEST
分两种情形:
1、源文件在本机,目标为远程主机
# scp /path/to/somefile... USERNAME@HOST:/path/to/somewhere
源可以是目录或文件有多个,目标必须是目录
2、源文件在远程,本地为目标
# scp USERNAME@HOST:/path/to/somewhere /path/to/somewhere
-r: 复制目录时使用(实现递归复制),scp默认不能复制目录;
-p: 保持源文件的元数据信息,包括mode和timestamp
-q: 静默模式,复制过程不显示状态信息;
-p PORT: 指定ssh协议监听的端口(远程主机)。
❷ linux哪种SSH工具好用
好多啊,比如SecureCRT,putty。。。。
putty比较小巧,SecureCRT需要注册号,网上破解版本也很多
❸ Windows下连接Linux的ssh工具有哪些
1.putty
Putty是最有名的SSH和telnet客户端,由Simon Tatham为Windows平台开发。Putty是一款开源软件,提供可用的源代码并有一批志愿者进行开发和支持。
2.Bitvise SSH Client
Bitvise SSH是一款支持SSH和SFTP的Windows客户端。由Bitvise开发和提供专业支持。这款软件工具性能突出,易于安装、便于使用。Bitvise SSH客户端拥有功能丰富的图形界面,通过自动重连功能的内置代理进行动态端口转发。
3.MobaXterm
MobaXterm是远程计算的终极工具箱。在 单独一个Windows应用里,MobaXterm为程序员、网站管理员、IT管理员及其它用户提供了远程操作一篮子功能。
4.DameWare SSH
DameWare SSH是最好的免费SSH客户端。该免费工具是一个终端模拟器,可以从一个易用的控制台建立多个telnet和SSH连接。
5.SmarTTY
SmarTTY是一款免费的多标签SSH客户端,支持使用SCP命令随时复制文件和目录。
6.Cygwin
Cygwin 是一款GNU和开源工具的集合,提供类似一个Windows平台下Linux的功能
❹ Windows下连接Linux的ssh工具有哪些
你好,常用的SSH工具的有:
(1)putty:小巧好用,推荐
(2)xshell;
(3)secureCR;....
putty和xshell的具体连接用法请参考我的另外回答:
(1)putty连接方法:https://..com/question/756869519814334324
(2)xshell连接方法:https://..com/question/1515345485545769220
希望可以帮到你。
❺ linux远程连接ssh工具有哪些
利用一些第三方工具对远程服务器(Linux)进行连接控制。常用的工具的有:(1)putty:小巧好用,推荐(2)xshell;(3)secureCR;....
❻ 连接linux服务器工具有哪些
BatchShell自动化运维软件简单易用,类似Xshell+Ansible功能
官网描述的功能特点:
1)支持原生Shell,也支持Ansible、SaltStack脚本,可1秒完成对上百台服务器命令执行与文件同步。
2)内含文件编辑器,支持本地、远程文件在线编辑,替换、保存、对比
3)支持文件本地版本控制(git),实现文件修改历史回溯
4)支持跨主机文件右键拷贝、复制功能
5)支持跨网络多主机文件同步与命令执行
6)支持本地、远程文件检索功能
7)支持可视化任务调度,包括文件同步、命令执行
8)支持putty免密启动
9)支持自定义可视化命令,如压缩、解压、编译等等
可以去官网www.batchshell.cn下载最新版本试试
❼ linux ssh免费连接工具有哪些
推荐xshell非常强大
❽ 大家推荐下常用的Windows下连接Linux的工具都有哪些(比如:Secure...
securityCRT 貌似最强大啊 Xshell5, puttyt!!! 在windows上远程连接linux的好工具,支持SSH2协议,破解版,使用SZ命令就可以轻松下载,rz命令轻松上传,非常方便。想要了解更多关于linux的只是,可以看看linux就该这么学,http://www.linuxprobe.com/,对你很有帮助的。
还有其他工具都很好用的
1、Putty
Putty是一个免费的、Windows 32平台下的telnet、rlogin和ssh客户端,但是功能丝毫不逊色于商业的telnet类工具。用它来远程管理Linux十分好用,其主要优点如下:
◆ 全面支持ssh1和ssh2;
◆ 绿色软件,无需安装,下载后在桌面建个快捷方式即可使用;
◆ 体积很小,仅364KB (0.54 beta版本);
◆ 操作简单,所有的操作都在一个控制面板中实现。
2、SecureCRT
Secure CRT,是一款支持 SSH2、SSH1、Telnet、Telnet/SSH、Relogin、Serial、TAPI、RAW 等协议的终端仿真程序,最吸引我的是,SecureCRT 支持标签化 SSH 对话,从而可方便地管理多个 SSH 连接,设置项也极为丰富。简单的说是Windows下登录UNIX、Linux服务器主机的软件。SecureCRT支持SSH,同时支持Telnet和rlogin协议。
SecureCRT是一款用于连接运行包括Windows、UNIX、VMS的理想工具。通过使用内含的VCP命令行程序可以进行加密文件的传输。有流行CRT Telnet客户机的所有特点,包括:自动注册、对不同主机保持不同的特性、打印功能、颜色设置、可变屏幕尺寸、用户定义的键位图和优良的VT100、VT102、VT220、ANSI竞争,能从命令行中运行或从浏览器中运行,其它特点包括文本手稿、易于使用的工具条、用户的键位图编辑器、可定制的ANSI颜色等.SecureCRT的SSH协议支持DES,3DES和RC4密码和密码与RSA鉴别。
❾ linux,ssh免费连接工具有哪些 linux远程连接ssh工具有哪些
xshell(破解版) ,CRT 等 , 常用的就这么两个。
❿ linux有没有像Tera term那样好用的能自动鍸OG的ssh工具
想要定时自动执行远程服务器或者路由器上的命令,重启动呀,定时开关某个interface什么的,有些麻烦,teraterm给我们提供了宏,也提供了一个驻守在内存中可以定时执行的LogMeTT程序。最关键的是它是免费的。
其实宏的编写很简单,也不需要都了解,只需要把需要用的了解就行了。
举一个实例说明简单用法。
宏里面的所有地方是分大小写的,这对Windows用户需要特别注意,虽然该宏在Windows机器上执行。这是一个登陆Windows telnet服务器的宏。
编写好了以后,可以在Windows的命令行下执行,需要制定完全目录,
C:Program Filesteratermttpmacro l
就可以执行,ttl扩展名是teraterm宏文件,把这个写成一个cmd文件,放在task计划任务里面就可以定时执行了。
; Telnet login
; open Tera Term
; command line = 'TERATERM myhost.mydomain' (telnet)
connect '127.0.0.1:23 /nossh /T=1'
; 连接到IP地址为本身的环回接口上,不是用ssh,t=1一般默认使用
; set username
UsernamePrompt = 'login:'
; UsernamePrompt是一个变量,会在下面调用
Username = 'apc'
; 用户名为apc,如果是域用户,需要domain/apc
PasswordPrompt = 'password:'
Prompt = 'C:Usersapc>'
; 这是apc用户登录后的提示符
; get password from file
getpassword 'password.dat' 'mypassword' Password
; password.dat文件最开始使用是不存在的,当第一次执行宏的时候,会提示你输入密码,就会把该密码存入该文件,并加密密码,你如果用记事本打开该文件,就会发现密码和你输入的不相同,免得被别人看见密码了。
; login
wait UsernamePrompt
; 等待服务器端回应login:,这个longin:是放在UsernamePrompt变量里的,在这里调用,“longin:”是Windows telnet server的提示,如果进入思科路由器呀,防火墙呀需要根据自己的情况修改,大小写是敏感的哦。
sendln Username
; 把存在变量里的apc掉出来,发送到服务器端。
wait PasswordPrompt
; 等服务器端返回password:的提示,这里的p是小写哦,不过最好拷贝,不会出错的。
sendln Password
; 调用password.dat文件的密码,还原后送到服务器端
; OK, auto login complete.
wait Prompt
; 等待登陆成功,返回C:Usersapc>这样的提示
sendln 'dir'
; 这个是Windows的cmd最常用的命令了,不用多说了
sendln 'exit'
; 最后一定要记得退出,不然一直占用这个线程,服务器端也占着,如果不超时,你就麻烦了,以后自己都进不去了。