由 dickhou 在 08-29-2002 16:53 发表:
Linux Telnet问题求救!
现在我可以用telnet登陆redhat 7.3.94,可是不能用exceed登陆。
如果用telnet登陆,并运行exceed,也可以运行linux上的xwindows的软件,请问要用exceed登陆应如何设置?
由 北南南北 在 08-29-2002 21:41 发表:
Telnet和ssh[转帖taiwanlinux~1]
这个问题看了好久,也找不到办法。只能查点资料让兄弟参考一下了。
telnet
可以让你不需要到 console 之前就可以远程 login 主机,就如同在 console 一般的操作!!
1.安装 telnet 需要两个套件 -- telnet-0.17-20 及 telnet-server-0.17-20 (这是以 RedHat 7.2 英文版为例)
2.安装完 telnet-0.17-20 , 也就是所谓的 telnet client ,你就可以直接 telnet (IP) ,例如 telnet localhost ,自己联机自己!!
3.要让使用者可以远程 telnet 进来,则是 telnet-server 的功劳,安装完之后要将设定档在 /etc/xinetd.d/telnet
default: on
description: The telnet server serves telnet sessions; it uses \
unencrypted username/password pairs for authentication.
service telnet
{
flags = REUSE
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.telnetd
log_on_failure += USERID
disable = yes
}
记得将 disable = yes , 改成 no ,这样重新激活 xinetd 才会生效
或者可以直接用 chkconfig 打开
chkconfig telnet on
4.如果还是无法登入,第一件事情可以先到 /var/log 去看 messages 与 secure 档案内容,多半看过后可能就知道问题所在
5.检查 xinetd 是否有激活??
/etc/rc.d/init.d/xinetd start
ssh -- security shell
过去使用 telnet 可以让使用者自远程登入,大大提高了 Linux Server 的管理性,不用专程跑到 console 前就可以远程操作,但是 telnet 有个问题,数据传输的过程是"不加密"的方式在传输,这在 Internet 上是很恐怖的,所以就出现了 ssh !! telnet 可以达成的功能 ssh 都可以做到,同时还加上加密的功能,如此可以确保资料在网络上传递的安全性!!
1.安装 ssh ,包括 ssh client 及 ssh server ,总共有以下套件(以 RedHat 7.2 英文版为例) :
openssh-askpass-2.9p2-12
openssh-2.9p2-12
openssh-server-2.9p2-12
openssh-clients-2.9p2-12
openssh-askpass-gnome-2.9p2-12
2.安装完之后,就可以直接使用 ssh (IP) 联机了!!
3.至于 ssh server 的设定则是放在 /etc/ssh/sshd_config ,直接使用默认值就可以了!!
4.激活 ssh server -- /etc/rc.d/init.d/sshd start
也可以设成开机自动执行 -- chkconfig --level sshd 35 on
5.ssh 预设是允许 root 直接登入,若是想要关掉 root 直接登入的功能,只需要改一下设定档
$OpenBSD: sshd_config,v 1.38 2001/04/15 21:41:29 deraadt Exp $
This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin
This is the sshd server system-wide configuration file. See sshd(8)
for more information.
Port 22
#Protocol 2,1
#ListenAddress 0.0.0.0
#ListenAddress ::
HostKey /etc/ssh/ssh_host_key
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
ServerKeyBits 768
LoginGraceTime 600
KeyRegenerationInterval 3600
PermitRootLogin no ##这里改成 no
重新激活 ssh
/etc/rc.d/init.t/sshd restart
当您试着用 root 远程登入时,会看到以下 messages
[root@testing /root]# ssh 192.168.0.xxx
[email protected] 's password:
Permission denied, please try again.
实际应用 :
1.当 telnet 到主机时,主机会出现一个提示讯息 :
Red Hat Linux release 7.1 (Seawolf)
Kernel 2.4.2-2 on an i586
login:
用意是告诉使用者版本编号及Kernel编号,本意是很好的,但是看在骇客的眼里,则是喜获至宝,立刻就知道你的主机使用的OS及编号,所以一般会建议将上述讯息杀掉,方法很简单
1.1 cat /dev/null > /etc/issue
清掉 console login 的讯息
1.2 cat /dev/null > /etc/issue.net
清掉远程 login 的讯息
1.3 这样还不够,因为开机时会自动产生这两个档,还得再加一个步骤
vi /etc/rc.d/rc.local
#echo "" > /etc/issue
#echo "$R" >> /etc/issue
#echo "Kernel $(uname -r) on $a $SMP$(uname -m)" >> /etc/issue
#cp -f /etc/issue /etc/issue.net
#echo >> /etc/issue
找到上述句子,将他们 mark 起来就 ok 了!!
2.telnet 为了安全考量,不开放远程直接用 root 帐号 login ,必须用非 root 帐号 login 之后,再用 su - root 的方式,若是嫌麻烦,也可以开放这个功能
rm /etc/securetty
这样就可以用 root 远程直接 telnet 了!!
ps.RedHat 7.X 适用,若是 RedHat 6.X 以前,则是加在 /etc/securetty 的最后面,范例如下
vc/1
vc/2
vc/3
vc/4
vc/5
vc/6
vc/7
vc/8
vc/9
vc/10
vc/11
tty1
tty2
tty3
tty4
tty5
tty6
tty7
tty8
tty9
tty10
tty11
0
1
2
加入 0 , 1 , 2 ... 表示开放远程 root telnet 的数目,0 表示开放一个,上述例子表示开放三个可以远程用 root telnet !!
不过这么危险的事情还是别做的好!!
3.telnet 虽然有那么点危险,目前也建议用 ssh 取代,不过 telnet 却还有个很好用的功能 -- 检查 port 是否有提供服务 or 关闭
例如 :
telnet 192.168.0.229 21
Trying 192.168.0.229...
Connected to 192.168.0.229 (192.168.0.229).
Escape character is '^]'.
220 192.168.0.229 FTP server (Version wu-2.6.1-16) ready.
可以得知 192.168.0.229 这台 server 有开放 ftp 的服务,要离开上述画面,按 Crtl+] ,
telnet> quit
Connection closed.
然后输入 quit 离开!!
4.还有 r- 系列的指令可以在两台主机之后联机,但是都因为未加密的缘故而不建议使用,目前还是建议大家多多使用 ssh !!
===========================
请弟兄