SSH
一、安装与启动SSH
在Red Hat Linux上的发行版本中大多已经包含了与OpenSSH相关的软件包,如果没有,则可以从OpenSSH的主页下载RPM包自行安装,OpenSSH的主页是地址是:
www.openssh.com。主要安装如下几个包:
- openssh-3.5p1-6、openssh-server-3.5p1-6
- openssh-askpass-gnome-3.5p1-6
- openssh-clients-3.5p1-6
- openssh-askpass-3.5p1-6
使用如下命令进行安装:
首先查询系统是否安装了上述软件包。
# pm -qa |grep openssh
如果没有安装则执行如下命令。
# rpm -ivh openssh-3.5p1-6
# rpm -ivh openssh-server-3.5p1-6
# rpm -ivh openssh-askpass-gnome-3.5p1-6
# rpm -ivh openssh-clients-3.5p1-6
# rpm -ivh openssh-askpass-3.5p1-6
安装完成之后,可以使用下述两个命令中的任一个进行启动。
# service sshd start
# /etc/rc.d/init.d/sshd start
另外,如果想在系统启动时就自动运行该服务,那么需要使用setup命令,在system service的选项中,选中sshd守护进程即可。
安装启动完OpenSSH之后,用下面命令测试一下。
# ssh -l [username] [address of the remote host]
说明:
- [username] 为远程主机的用户名
- [address of the remote host] 为远程主机的地址
如果OpenSSH工作正常,将会看到下面的提示信息:
The authenticity of host [hostname] can't be established.
Key fingerprint is 1024 5f:a0:0b:65:d3:82:df:ab:44:62:6d:98:9c:fe:e9:52.
Are you sure you want to continue connecting (yes/no)?
在第一次登录的时候,OpenSSH将会提示用户它不知道这台登录的主机,只要键入“yes”,就会把这台登录主机的“识别标记”加到“~/.ssh/know_hosts”文件中。第二次访问这台主机的时候就不会再显示这条提示信息了。然后,SSH提示用户输入远程主机上用户账号的口令。这样,就建立了SSH连接,这之后就可以象使用telnet那样方便地使用SSH了。
二、SSH的密匙管理
1.生成用户自己的密匙对
用下面的命令可以生成公钥/私钥对:
# ssh-keygen t 类型
。
如果远程主机使用的是SSH 2.x就要用这个命令:
# ssh-keygen d
。
在同一台主机上同时有SSH1和SSH2的密匙是没有问题的,因为密匙是存在不同文件中的。ssh-keygen命令运行之后会显示下面的信息:
# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/.username/ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/.username /.ssh/id_rsa.
Your public key has been saved in /home/.username /.ssh/id_rsa.pub.
The key fingerprint is:
38:25:c1:4d:5d:d3:89:bb:46:67:bf:52:af:c3:17:0c username@localhost
Generating RSA keys:
Key generation complete.
“ssh-keygen -d”命令做的是同样的工作,但是它的一对密匙的保存路径默认情况下为: /home/[user]/.ssh/id_dsa(私人密匙)和/home/[user]/.ssh/id_dsa.pub(公用密匙)。现在用户有一对密匙了: 公用密匙要分发到所有用户想用SSH登录的远程主机上去; 私人密匙要好好地保管防止别人知道。用“
# ls -l ~/.ssh/identity”或“# ls -l ~/.ssh/id_dsa”
命令所显示的文件的访问权限必须是“-rw-------”。
如果用户怀疑自己的密匙已经被别人知道了,应当马上生成一对新的密匙。当然,这样做之后还需要重新分发一次公用密匙,才能正常使用。
2.分发公用密匙
在每一个用户需要用SSH连接的远程服务器上,都要在自己的主目录下创建一个“.ssh”的子目录,把用户的公用密匙“identity.pub”拷贝到这个目录下并把它重命名为“authorized_keys”。然后执行命令:
# chmod 644 .ssh/authorized_keys
这一步是必不可少的。因为,如果除了用户之外别人对“authorized_keys”文件也有写的权限,那么如果遭到非法的破坏,SSH就不能正常工作。
如果用户想从不同的计算机登录到远程主机,“authorized_ keys”文件也可以有多个公用密匙。在这种情况下,必须在新的计算机上重新生成一对密匙,然后把生成的“identify.pub”文件拷贝并粘贴到远程主机的“authorized_keys”文件里。当然,在新的计算机上用户必须有一个账号,而且密匙是用口令保护的。有一点很重要,就是当用户取消了这个账号之后,必须记住把这一对密匙删掉。
三、配置SSH的客户端
在Linux客户端下使用SSH,优点是操作更方便,无须其他软件。但缺点是不太直观。用户只需要使用系统提供的默认的配置文件“/etc/ssh/ssh_config”,并且使用如下简单的命令即可登录:
// 以用户test登录远程服务器www.test.com
# ssh -l test www.test.com
下面主要介绍配置使用Windows环境下的putty工具来登录SSH服务器。该工具目前使用得相当普遍,可以从网上免费下载。目前网上的最新版本为: putty 0.58,对该版本进行安装后,进行如下步骤的配置:
- 打开该软件,进入配置界面,软件初始自动打开Session窗口。
- 在该界面的右半区域的【Host Name(or IP address)】编辑框中输入所要远程登录的服务器地址,这里设定为: 192.168.10.1,端口编辑框中输入默认的端口号22,然后单击【Save】按钮,保存输入配置,如图1所示。
图1 配置IP地址及端口号
- 单击【Open】按钮,该软件连接服务器,显示连接结果,用户就可以进行相应的远程管理操作了。
四、配置SSH的自动登录
在上面介绍的SSH的使用过程中,用户每次登录服务器都需要输入密码,这对于用户来说未免有些麻烦。由于SSH充分使用了密钥机制,那么就可以通过一定的系统配置,而达到一次配置,以后都不用输入密码,方便登录的目的,下面以Windows的客户端为例,说明如何对SSH的自动登录进行配置。
在Windows下,使用前面介绍的客户端软件putty同样可以方便地实现自动登录,主要是使用putty工具套件自带的puttygen工具,来产生公钥/私钥对来实现,原理与Linux下相同,下面介绍一下配置细节。
1.打开puttygen工具,准备生成公钥/私钥对,如图2所示,选择生成SSH2 RSA的密钥类型。
图2 PuttygenGenerator主界面
2.单击【Generate】按钮,则进入公钥/私钥生成界面,用户需要在界面空白处不断地移动鼠标,以保证钥匙生成的随机性能。
3.成功生成公钥/私钥后,系统提示用户保存公钥/私钥对。单击【Save public key】按钮以及【Save private key】按钮,分别指定路径保存公钥以及私钥。
4.使用putty连接上服务器后,将公钥文件的内容拷贝到服务器的相应主目录下,用自己的账号登录远程系统,然后执行下面的命令。此时用记事本打开 id_rsa1.pub 文件,选中所有内容,按Ctrl+C复制到剪贴板中,然后在Putty窗口中按Shift+Ins粘贴,再按Ctrl+D键,完成文件的创建。这是完成公钥分发的过程。
# cd ~
# mkdir .ssh
# cd .ssh
# cat > authorized_keys
5.再次使用putty连接服务器,则可以自动登录,而不需要用户输入密码。
通过上述安装、配置及使用,用户可以放心、安全地使用SSH软件在Linux下进行数据传输。SSH软件的功能非常强大,除了本文讲述的内容之外,还有设置“秘密通道”,scp命令的使用等功能,有兴趣的读者可以参看相关资料,以获得更加安全、方便的使用效果。
五、通过WinSCP访问linux
- 下载一个WinSCP,下载后安装、运行
- 其实和putty差不多Host name填入主机ip,User name填入用户名, Password填入密码,先点save按钮保存后再login按钮进入即可
六、ssh配置
ssh配置文件目录:/etc/ssh/sshd_config
- Port 22 ssh预设的端口,可以重复使用Port定义多个端口
- Protocol 2 ssh的协定版本,可以是2或1
- ListenAddress 0.0.0.0 ssh监听地址默认为全部监听
- PermitRootLogin on 是否允许以root用户登陆,默认是允许yes,
- UserLogin on 在ssh下是否接受login登陆
七、用sftp登录服务器
用sftp登录服务器的命令为:
# sftp -oPort=22 sshuser@61.145.34.33
- oPort 端口号
- sshuser@61.145.34.33 用户名@ip
回车后,输入服务器sshuser的密码登录,然后会显示一个sftp>的环境,这个时候,键入help你会看到所有命令的帮助,跟ftp命令行工具非常类似,比如get,put等等。
分享到:
相关推荐
### Linux 下 Telnet 和 SSH 服务的配置与使用详解 #### 一、Telnet 服务配置及使用 **1. Telnet 安装** 在 Linux 系统中配置 Telnet 服务之前,需要确保系统已经安装了 Telnet 的客户端和服务端组件。一般情况下...
本文将详细介绍 Linux 服务器的配置过程,从 yum 的安装到 ssh、telnet 和 ftp 的安装和配置。 一、Yum 安装配置 Yum 是 Red Hat Enterprise Linux(RHEL)家族中的包管理工具,能够自动解决软件之间的依赖关系。...
Linux 修改 FTP、Telnet、SSH 的默认端口 Linux 操作系统中,FTP、Telnet、SSH 是三个常用的网络服务,但是它们的默认端口号都是固定的,FTP 是 21,Telnet 是 23,SSH 是 22。这三个端口号都是众所周知的,因而...
### 开启Linux下的Telnet、SSH、VNC和FTP服务 #### Telnet服务 - **安装Telnet软件包** - 使用`rpm –qatelnet` 和 `rpm –qatelnet-server` 检查是否已安装Telnet相关包。 - 若未安装,可以从Red Hat Linux 9...
在Arm-Linux中,我们通常使用`wu-ftpd`作为FTP服务器软件,`utelnetd`作为TELNET服务的实现。 首先,我们来看`wu-ftpd`。`wu-ftpd`是一个历史悠久且功能丰富的FTP服务器,它支持多种安全特性,如SSL/TLS加密和基于...
在Linux世界中,有多种方式可以连接到远程服务器,比如SSH(Secure Shell)和FTP(File Transfer Protocol)。本文将详细探讨两个广受欢迎的开源工具:FFFTP和PuTTY,并解释如何利用它们在Linux系统上高效地工作。 ...
它支持多种网络协议,包括SSH(SSH1和SSH2)、Telnet以及RLogin,使得用户能够在Windows环境下方便地连接到远程的Unix或Linux系统。这款工具以其稳定、高效和安全的特性,成为了IT专业人员进行远程操作和管理服务器...
`telnet-server`则是`telnet`服务端的实现,它监听特定端口(通常是23号端口)上的连接请求,并为连接的用户提供远程登录服务。当用户在本地计算机上运行`telnet`客户端并连接到远程服务器时,`telnet-server`就会...
PuTTY是一款广受欢迎的免费开源远程访问软件,它支持多种网络协议,包括Secure Shell (SSH)、Telnet和FTP。本文将深入探讨PuTTY的功能、用法以及它在Linux和Windows环境中的应用。 **PuTTY的主要功能** 1. **SSH...
在Linux系统中,开启telnet服务和FTP服务对于远程管理和文件传输是非常有用的。以下是开启Linux的telnet服务和FTP服务的详细步骤,以及相关的知识点。 **开启telnet服务** 1. **安装telnet软件包** - `telnet-...
SecureCRT是一款支持SSH(SSH1和SSH2)的终端仿真程序,简单地说是Windows下登录UNIX或Linux服务器主机的软件。 SecureCRT支持SSH,同时支持Telnet和rlogin协议。SecureCRT是一款用于连接运行包括Windows、UNIX和VMS...
FTP命令行客户端通常被称为“ftp”程序,它是通过telnet或者更安全的SSH(Secure Shell)连接到FTP服务器的基础工具。这个源代码涵盖了以下关键功能: 1. **连接与断开**:`ftp`命令首先需要连接到远程服务器,这...
"Linux下 Telnet、SSH和VNC服务的配置与应用" 本文将详细介绍Linux下Telnet、SSH和VNC服务的配置和应用,旨在帮助Linux学习者更好地掌握远程控制技术。 Telnet服务概述 Telnet是进行远程登录的标准协议,是当今...
3. **安全注意事项**:由于TELNET的明文传输特性,建议在内部网络环境中使用,或者使用SSH(Secure Shell)代替,因为SSH提供了加密的连接。 最后,为了让你的朋友能够访问你的服务器,你需要提供给他们正确的访问...
它的强大在于灵活的命令行接口和丰富的自动化工具,这使得`Ant`、`Telnet`和`FTP`在Linux环境中能更好地协同工作,实现全面的自动化流程。 在实际操作中,`Ant`的构建脚本可能包含以下部分: 1. **项目编译**:使用...
### Telnet 和 FTP 命令详解:Ubuntu Linux 环境下的应用 在Ubuntu Linux系统中,`telnet`和`ftp`是两种非常重要的网络工具,它们可以帮助用户进行远程登录、文件传输等操作。本文将详细介绍这两种命令的基本用法、...
在Linux服务器端布置SSH连接公钥、状态信息提取及资料FTP传输脚本等。 本系统的设计和实现基于以下几点考虑: 1. Linux操作系统的稳定性和安全性:Linux操作系统具有运行稳定、代码开源、结构清晰及功能强大等优点...
在嵌入式Linux系统,尤其是基于ARM架构的设备中,FTP(File Transfer Protocol)和TELNET服务是非常重要的网络通信工具。这些服务允许开发者远程管理、配置和调试设备,而无需物理接触硬件或依赖于串口通信。在"Arm-...