telnet与ssh
linux下的telnet安装和使用
Telnet服务的配置步骤如下:
一、安装telnet软件包(通常要两个)。
1、 telnet-client (或 telnet),这个软件包提供的是 telnet 客户端程序;
2、是 telnet-server 软件包,这个才是真正的 Telnet server 软件包!
安装之前先检测是否这些软件包已安装,方法如下:
[root@wljs root]#rpm –q telnet
[root@wljs root]#rpm –q telnet-client
[root@wljs root]#rpm –q telnet-server
如果没有检测到软件包,需要进行安装,red hat linux 9默认已安装了client软件包,一般只要安装telnet-server软件包即可:
1、到我的ftp上下载软件包,方法如下:
在虚拟控制台下依次输入:
[root@wljs root]#ftp 210.45.160.27
Name:ftp
Password:ftp
ftp>cd linux
ftp>ls
ftp>get telnet-0.17-25.i386.rpm
ftp>get telnet-server-0.17-25.i386.rpm
ftp>bye
2、安装软件包
#rpm –i telnet-0.17-25.i386.rpm
#rpm –i telnet-server-0.17-25.i386.rpm
二、启动telnet服务
1、开启服务
方法一:使用ntsysv,在出现的窗口之中,将 telnet 勾选起来,然后按下 OK 即可 !
方法二:编辑 /etc/xinetd.d/telnet
#vi /etc/xinetd.d/telnet
[root@test root]# vi /etc/xinetd.d/telnet
找到 disable = yes<==就是改这里,将 yes 改成 no 即可!服务预设是关闭的
2、激活服务
telnet 是挂在 xinetd 底下的,所以自然只要重新激活 xinetd 就能够将 xinetd 里头的设定重新读进来,所以刚刚设定的 telnet 自然也就可以被激活。
[root@wljs root]# service xinetd restart
三、测试服务
[root@wljs root]#telnet ip(或者hostname)
如果配置正确,系统提示输入远程机器的用户名和密码
Login:
Password:
注:默认只允许普通用户
四、设置telnet端口
#vi /etc/services
进入编辑模式后查找telnet(???怎样查找)
会找到如下内容:
telnet 23/tcp
telnet 23/udp
将23修改成未使用的端口号(如:2000),退出vi,重启telnet服务,telnet默认端口号就被修改了。
五、Telnet服务限制
如果原本的默认值你并不满意,那么你可以修改成比较安全一点的机制。假设你这个 Linux 是一部主机,而且他有两块网络接口,分别是对外的 192.168.0.1 与对内的210.45.160.17 这两个,如果你想要让对内的接口限制较松,而对外的限制较严格,你可以这样的来设定:
#vi /etc/xinetd.d/telnet
# 先针对对内的较为松散的限制来设定:
service telnet
{ disable = no <==预设就是激活 telnet 服务
bind = 210.45.160.17 <==只允许经由这个适配卡的封包进来
only_from = 210.45.160.0/24 <==只允许 210.45.160.0/24 这个网段的主机联机进来使用 telnet 的服务
.....
}
# 再针对外部的联机来进行限制
service telnet
{
disable = no<==预设就是激活 telnet 服务
bind = 192.168.0.1<==只允许经由这个适配卡的封包进来
only_from = 192.168.0.0/16<==只允许 192.168.0.0 ~ 192.168.255.255 这个网段联机进来使用 telnet 的服务
only_from = .edu.cn<==重复设定,只有教育网才能联机!
no_access = 192.168.25.{10,26}<==不许这些 PC 登入
access_times = 1:00-9:00 20:00-23:59 <==每天只有这两个时段开放服务
......
}
六、Telnet root用户的登入
root 不能直接以 telnet 连接上主机。 telnet 不是很安全,默认的情况之下就是无法允许 root 以 telnet 登入 Linux 主机的 。若要允许root用户登入,可用下列方法
[root @test /root]# vi /etc/pam.d/login
#auth required pam_securetty.so #将这一行加上注释!
或
# mv /etc/securetty /etc/securetty.bak
这样一来, root 将可以直接进入 Linux 主机。不过,建议不要这样做。还可以在普通用户进入后,切换到root用户,拥有root的权限!
安全的ssh
SSH是一个用来替代TELNET、Rlogin以及Rsh的传统的远程登陆程序的工具,主要是想解决口令在网上明文传输的问题。为了系统安全和用户 自身的权益,推广SSH是必要的。SSH有两个不兼容的版本1.x,2.x!RedHat Linux 9将默认的远程管理服务设置成OpenSSH(一个ssh的替代产品)。不需要重新安装软件包!
一、配置openssh服务器
1、ssh的配置文件是/etc/ssh/ssh_config,一般不要修改!
2、启动服务器!
#ntsysv =>确认将sshd前面的勾已打上!
3、手工启动OpenSSH:
#service sshd start
#service sshd restart(重新启动)
4、停止服务器:
#service sshd stop
二、使用OpenSSH客户端
Redhat linux 9默认已安装了OpenSSH的客户端,客户端和服务器连接时,可以使用两种验证方式:基于口令的验证方式和基于密匙的验证方式!
1、基于口令的验证方式
这种验证方式要求用户输入用户名称和密码!若没有指定用户名称和密码,则默认使用当前在客户机上的用户名!
例1:直接登陆
[root@wljs /]#ssh 210.45.160.17
则登陆用户名为客户机当前用户名!
例2:指定用户名登陆
[root@wljs /]#ssh wwz@210.45.160.17
或: [root@wljs /]#ssh –l wwz 210.45.160.17
上面过程结束后,系统将会提示你输入用户名和密码!
2、基于密匙的验证方式
使用密匙的验证方式,用户先需要为自己创建一对密匙:公匙和私匙。(公匙用在要登陆的服务器上)
OpenSSH公开密匙的密码体制有RSA、DSA!
创建密匙:
例:[root@wljs /]#ssh-keygen –t rsa
回车后,要求输入使用密匙时的口令!这样便生成了公匙和私匙:放在用户主目录下的.ssh目录下,文件名:id_rsa.pub和id_rsa!必须 将公匙复制到登陆的服务器的~/.ssh/目录下,并改名为:authorized_keys!然后,便可使用密匙方式登陆!
#ssh [–l username] ip地址或主机名
三、OpenSSH上常用的命令
1、不登陆远程系统使用命令
#ssh 210.45.160.17 [命令] [参数]
2、本地系统和远程系统间文件的传输
#scp a.txt root@210.45.160.17:/b.txt
#scp root@210.45.160.17:/b.txt /c.txt
3、sftp命令
Sftp 命令和ftp命令类似,它是OpenSSH提供的网络传输文件的小工具,它更加安全,使用和ftp相似的命令:主要有如下几个:
1、登陆
#ftp 210.45.160.17
2、ftp 会话的打开与关闭
打开:open 210.45.160.27
关闭:close
3、文件的传输
从ftp服务器上得到文件:
Get a.txt
向ftp上放文件
Put a.txt
4、退出ftp
Bye
5、其他
bell:每个命令执行完毕后计算机响铃一次
Cd ,ls 等一些常见命令也可以在ftp服务器目录中使用!v
Linux 精华---root用户ftp/telnet 登陆设置 (笔者原版---共享)
--------------------------------------------------------
笔者以FedCore 4(2.6.11)为蓝本,一般情况下系统默认的 root用户不能远程ftp 和 telnet 服务器.网络上有些更改
远程登陆的文章,笔者还是认为都不够全面,经过自己一个小时的折腾终于解决了.
1),解决root用户 ftp登陆的问题
一般情况下,由于种种原因ftp是不让root用户远程登陆,但只要你修改以个文件就可以登陆了.
a ,去掉或注释掉 /etc/vsftpd/ftpusers 中的root
b ,去掉或注释掉 /etc/vsftpd/user_list 中的root
2),修改ftp的默认的路径
我的硬盘空间有限,如何把帐号ftp默认的路径/var/ftp更改到别处?或者是,我的linux所有的目录都放在/根分区,因为空间紧张,我能否把ftp这个用户的默认路径放到别的分区?
可以,应该如下操作!
首先要把ftp这个用户删除
#userdel -r ftp
会有错误信息,不过不用理,这是正常的。
然后我们再把这个用户添加上,比如我想为帐号ftp的家目录设置在/mnt/LinG/ftp,我们就可以如下操作
[root@linuxsir001 root]# mkdir /root/ftp
[root@linuxsir001 root]# adduser -d /root/ftp -g ftp -s /sbin/nologin ftp
仅仅是这样做还不行,因为这样还是不能让匿名用户找到它的家目录,所以我们必须改变/mnt/LinG/ftp这个目录的权限。
[root@linuxsir001 root]# chmod 755 /root/ftp/
[root@linuxsir001 root]# chown -R root.root /root/ftp/
3),root用户登陆 telnet
a,检查你的服务器是否安装 telnet 服务器
rpm -qa | grep telnet-server[root@fedorasvr tmp]# ls
telnet-server-0.17-35.i386.rpm
[root@fedorasvr tmp]# rpm -i telnet-server-0.17-35.i386.rpm
warning: telnet-server-0.17-35.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
error: Failed dependencies:
xinetd is needed by telnet-server-0.17-35.i386
-------------哦是什么出错了呢?????
检查,检查可能是没有安装 xinetd ,因为linux的安装包依赖性可能强,好安装一下了,在安1.rpm -ivh xinetd-2.3.13-6.i386.rpm
2.service xinetd start
3.rpm-ivh telnet-server-0.17-35.i386.rpm
4.chkconfig telnet on
装telnet-server 等
测试 telnet 服务器已经安装好了,
b),开启root用户的telnet功能
1,编辑/etc/default/login文件.
添加内容:CONSOLE=/dev/console
2,编辑/etc/securetty 文件,加上下面几行:
pts/0
pts/1
pts/2
pts/3
测试root用户直接telnet登陆成功,
特别提示:对了最好不要使用root用户telnet 登陆,也不要使用telnet功能,因为它太不安全了,最好使用 ssh2登陆
备注:安装telnet时,抱错说xinetd is needed by telnet-server-0.17-35.i386
说意思应该是缺少xinetd(该文件是telnet-server安装的前提),通过yum来安装,会首先自动下载所需要的缺少的文件,然后再进行telnet-server的安装。
yum install telnet-server-0.17-37.i386.rpm 命令解决
一、安装telnet软件包(通常要两个)。
1、 telnet-client (或 telnet),这个软件包提供的是 telnet 客户端程序;
2、是 telnet-server 软件包,这个才是真正的 Telnet server 软件包!
安装之前先检测是否这些软件包已安装,方法如下:
[root@wljs root]#rpm –q telnet
[root@wljs root]#rpm –q telnet-client
[root@wljs root]#rpm –q telnet-server
如果没有检测到软件包,需要进行安装,red hat linux 9默认已安装了client软件包,一般只要安装telnet-server软件包即可:
1、到我的ftp上下载软件包,方法如下:
在虚拟控制台下依次输入:
[root@wljs root]#ftp 210.45.160.27
Name:ftp
Password:ftp
ftp>cd linux
ftp>ls
ftp>get telnet-0.17-25.i386.rpm
ftp>get telnet-server-0.17-25.i386.rpm
ftp>bye
2、安装软件包
#rpm –i telnet-0.17-25.i386.rpm
#rpm –i telnet-server-0.17-25.i386.rpm
二、启动telnet服务
1、开启服务
方法一:使用ntsysv,在出现的窗口之中,将 telnet 勾选起来,然后按下 OK 即可 !
方法二:编辑 /etc/xinetd.d/telnet
#vi /etc/xinetd.d/telnet
[root@test root]# vi /etc/xinetd.d/telnet
找到 disable = yes<==就是改这里,将 yes 改成 no 即可!服务预设是关闭的
2、激活服务
telnet 是挂在 xinetd 底下的,所以自然只要重新激活 xinetd 就能够将 xinetd 里头的设定重新读进来,所以刚刚设定的 telnet 自然也就可以被激活。
[root@wljs root]# service xinetd restart
三、测试服务
[root@wljs root]#telnet ip(或者hostname)
如果配置正确,系统提示输入远程机器的用户名和密码
Login:
Password:
注:默认只允许普通用户
四、设置telnet端口
#vi /etc/services
进入编辑模式后查找telnet(???怎样查找)
会找到如下内容:
telnet 23/tcp
telnet 23/udp
将23修改成未使用的端口号(如:2000),退出vi,重启telnet服务,telnet默认端口号就被修改了。
五、Telnet服务限制
如果原本的默认值你并不满意,那么你可以修改成比较安全一点的机制。假设你这个 Linux 是一部主机,而且他有两块网络接口,分别是对外的 192.168.0.1 与对内的210.45.160.17 这两个,如果你想要让对内的接口限制较松,而对外的限制较严格,你可以这样的来设定:
#vi /etc/xinetd.d/telnet
# 先针对对内的较为松散的限制来设定:
service telnet
{ disable = no <==预设就是激活 telnet 服务
bind = 210.45.160.17 <==只允许经由这个适配卡的封包进来
only_from = 210.45.160.0/24 <==只允许 210.45.160.0/24 这个网段的主机联机进来使用 telnet 的服务
.....
}
# 再针对外部的联机来进行限制
service telnet
{
disable = no<==预设就是激活 telnet 服务
bind = 192.168.0.1<==只允许经由这个适配卡的封包进来
only_from = 192.168.0.0/16<==只允许 192.168.0.0 ~ 192.168.255.255 这个网段联机进来使用 telnet 的服务
only_from = .edu.cn<==重复设定,只有教育网才能联机!
no_access = 192.168.25.{10,26}<==不许这些 PC 登入
access_times = 1:00-9:00 20:00-23:59 <==每天只有这两个时段开放服务
......
}
六、Telnet root用户的登入
root 不能直接以 telnet 连接上主机。 telnet 不是很安全,默认的情况之下就是无法允许 root 以 telnet 登入 Linux 主机的 。若要允许root用户登入,可用下列方法
[root @test /root]# vi /etc/pam.d/login
#auth required pam_securetty.so #将这一行加上注释!
或
# mv /etc/securetty /etc/securetty.bak
这样一来, root 将可以直接进入 Linux 主机。不过,建议不要这样做。还可以在普通用户进入后,切换到root用户,拥有root的权限!
安全的ssh
SSH是一个用来替代TELNET、Rlogin以及Rsh的传统的远程登陆程序的工具,主要是想解决口令在网上明文传输的问题。为了系统安全和用户 自身的权益,推广SSH是必要的。SSH有两个不兼容的版本1.x,2.x!RedHat Linux 9将默认的远程管理服务设置成OpenSSH(一个ssh的替代产品)。不需要重新安装软件包!
一、配置openssh服务器
1、ssh的配置文件是/etc/ssh/ssh_config,一般不要修改!
2、启动服务器!
#ntsysv =>确认将sshd前面的勾已打上!
3、手工启动OpenSSH:
#service sshd start
#service sshd restart(重新启动)
4、停止服务器:
#service sshd stop
二、使用OpenSSH客户端
Redhat linux 9默认已安装了OpenSSH的客户端,客户端和服务器连接时,可以使用两种验证方式:基于口令的验证方式和基于密匙的验证方式!
1、基于口令的验证方式
这种验证方式要求用户输入用户名称和密码!若没有指定用户名称和密码,则默认使用当前在客户机上的用户名!
例1:直接登陆
[root@wljs /]#ssh 210.45.160.17
则登陆用户名为客户机当前用户名!
例2:指定用户名登陆
[root@wljs /]#ssh wwz@210.45.160.17
或: [root@wljs /]#ssh –l wwz 210.45.160.17
上面过程结束后,系统将会提示你输入用户名和密码!
2、基于密匙的验证方式
使用密匙的验证方式,用户先需要为自己创建一对密匙:公匙和私匙。(公匙用在要登陆的服务器上)
OpenSSH公开密匙的密码体制有RSA、DSA!
创建密匙:
例:[root@wljs /]#ssh-keygen –t rsa
回车后,要求输入使用密匙时的口令!这样便生成了公匙和私匙:放在用户主目录下的.ssh目录下,文件名:id_rsa.pub和id_rsa!必须 将公匙复制到登陆的服务器的~/.ssh/目录下,并改名为:authorized_keys!然后,便可使用密匙方式登陆!
#ssh [–l username] ip地址或主机名
三、OpenSSH上常用的命令
1、不登陆远程系统使用命令
#ssh 210.45.160.17 [命令] [参数]
2、本地系统和远程系统间文件的传输
#scp a.txt root@210.45.160.17:/b.txt
#scp root@210.45.160.17:/b.txt /c.txt
3、sftp命令
Sftp 命令和ftp命令类似,它是OpenSSH提供的网络传输文件的小工具,它更加安全,使用和ftp相似的命令:主要有如下几个:
1、登陆
#ftp 210.45.160.17
2、ftp 会话的打开与关闭
打开:open 210.45.160.27
关闭:close
3、文件的传输
从ftp服务器上得到文件:
Get a.txt
向ftp上放文件
Put a.txt
4、退出ftp
Bye
5、其他
bell:每个命令执行完毕后计算机响铃一次
Cd ,ls 等一些常见命令也可以在ftp服务器目录中使用!v
Linux 精华---root用户ftp/telnet 登陆设置 (笔者原版---共享)
--------------------------------------------------------
笔者以FedCore 4(2.6.11)为蓝本,一般情况下系统默认的 root用户不能远程ftp 和 telnet 服务器.网络上有些更改
远程登陆的文章,笔者还是认为都不够全面,经过自己一个小时的折腾终于解决了.
1),解决root用户 ftp登陆的问题
一般情况下,由于种种原因ftp是不让root用户远程登陆,但只要你修改以个文件就可以登陆了.
a ,去掉或注释掉 /etc/vsftpd/ftpusers 中的root
b ,去掉或注释掉 /etc/vsftpd/user_list 中的root
2),修改ftp的默认的路径
我的硬盘空间有限,如何把帐号ftp默认的路径/var/ftp更改到别处?或者是,我的linux所有的目录都放在/根分区,因为空间紧张,我能否把ftp这个用户的默认路径放到别的分区?
可以,应该如下操作!
首先要把ftp这个用户删除
#userdel -r ftp
会有错误信息,不过不用理,这是正常的。
然后我们再把这个用户添加上,比如我想为帐号ftp的家目录设置在/mnt/LinG/ftp,我们就可以如下操作
[root@linuxsir001 root]# mkdir /root/ftp
[root@linuxsir001 root]# adduser -d /root/ftp -g ftp -s /sbin/nologin ftp
仅仅是这样做还不行,因为这样还是不能让匿名用户找到它的家目录,所以我们必须改变/mnt/LinG/ftp这个目录的权限。
[root@linuxsir001 root]# chmod 755 /root/ftp/
[root@linuxsir001 root]# chown -R root.root /root/ftp/
3),root用户登陆 telnet
a,检查你的服务器是否安装 telnet 服务器
rpm -qa | grep telnet-server[root@fedorasvr tmp]# ls
telnet-server-0.17-35.i386.rpm
[root@fedorasvr tmp]# rpm -i telnet-server-0.17-35.i386.rpm
warning: telnet-server-0.17-35.i386.rpm: Header V3 DSA signature: NOKEY, key ID 4f2a6fd2
error: Failed dependencies:
xinetd is needed by telnet-server-0.17-35.i386
-------------哦是什么出错了呢?????
检查,检查可能是没有安装 xinetd ,因为linux的安装包依赖性可能强,好安装一下了,在安1.rpm -ivh xinetd-2.3.13-6.i386.rpm
2.service xinetd start
3.rpm-ivh telnet-server-0.17-35.i386.rpm
4.chkconfig telnet on
装telnet-server 等
测试 telnet 服务器已经安装好了,
b),开启root用户的telnet功能
1,编辑/etc/default/login文件.
添加内容:CONSOLE=/dev/console
2,编辑/etc/securetty 文件,加上下面几行:
pts/0
pts/1
pts/2
pts/3
测试root用户直接telnet登陆成功,
特别提示:对了最好不要使用root用户telnet 登陆,也不要使用telnet功能,因为它太不安全了,最好使用 ssh2登陆
备注:安装telnet时,抱错说xinetd is needed by telnet-server-0.17-35.i386
说意思应该是缺少xinetd(该文件是telnet-server安装的前提),通过yum来安装,会首先自动下载所需要的缺少的文件,然后再进行telnet-server的安装。
yum install telnet-server-0.17-37.i386.rpm 命令解决
![](http://www.cnblogs.com/Emoticons/baimantou/202015934.gif)