zoukankan      html  css  js  c++  java
  • linux下安装SSH 方法步骤

    (SSH是一个用来替代TELNET、FTP以及R命令的工具包,主要是想解决口令在网上明文传输的问题。为了系统安全和用户自身的权益,推广SSH是必要的。SSH有两个版本,我们现在介绍的是版本2。)

    安装SSH

    具体步骤如下:


    获得SSH软件包。 (ftp://ftp.pku.edu.cn:/pub/unix/ssh-2.3.0.tar.gz)


    成为超级用户(root).


    # gzip –cd ssh-2.3.0.tar.gz |tar xvf –


    # cd ssh-2.3.0


    # ./configure

    注意,如果你希望用tcp_wrappers来控制SSH,那么在configure时需要加上选项“--with-libwrap=/path/to/libwrap/”, 用来告诉SSH关于libwrap.a 和tcpd.h的位置。


    # make


    # make install

    和SSH有关的程序都放置在/usr/local/bin下,包括ssh,sftp,sshd2, ssh-keygen等。


    二、配置

    SSH的配置文件在/etc/ssh2下,其中包括sshd2的主机公钥和私钥:hostkey和hostkey.pub。这两个文件通常是在安装SSH时自动生成的。你可以通过下面的命令重新来生成它们:

    # rm /etc/ssh2/hostkey*

    # ssh-keygen2 –P /etc/ssh2/hostkey

    而ssh2_config 文件一般情形下无需修改。


    三、启动sshd2

    每个要使用SSH的系统都必须在后台运行sshd2。用手工启动:

    # /usr/local/sbin/sshd2&

    可以在“/etc/rc2.d/S99local”中加入该命令,这样系统每次启动时会自动启动sshd2。


    四、用tcp_wrappers控制SSH

    安装SSH的站点可以用tcp_wrappers来限制哪些IP地址可以通过ssh来访问自己。比如,在/etc/hosts.allow中加入

    sshd,sshd2: 10.0.0.1

    那么只有10.0.0.1可以通过ssh来访问该主机。


    以上都是系统管理员完成的工作。下面我们说说普通用户如何使用SSH。


    五、基本应用

    每个用户在使用SSH之前,都要完成以下步骤:


    在本地主机(比如,local.pku.edu.cn)上生成自己的ssh公钥和私钥。命令如下:

    local# ssh-keygen

    Generating 1024-bit dsa key pair

    1 oOo.oOo.o

    Key generated.

    1024-bit dsa, teng@ns, Fri Oct 20 2000 17:27:05

    Passphrase :************ /*在此输入你的口令,以后访问这台主机时要用。

    Again :************ /*

    Private key saved to /home1/teng/.ssh2/id_dsa_1024_a

    Public key saved to /home1/teng/.ssh2/id_dsa_1024_a.pub


    生成的私钥和公钥(id_dsa_1024_a和id_dsa_1024_a.pub)存放在你家目录的~/.ssh2目录下。和用户相关的SSH配置文件都在~/.ssh2下。私钥由用户保存在本地主机上,而公钥需传送到远地主机的你自己的帐号的~/.ssh2下,如果你要用ssh2访问本地主机的话。


    在~/.ssh2下创建“identification”文件用来说明进行身份认证的私钥。命令如下:


    local:~/.ssh2# echo "IdKey id_dsa_1024_a" > identification


    3.同样地,在远地主机(比如,remote.pku.edu.cn)上完成上面步骤。

    4.将本地(local.pku.edu.cn)下你自己(这里是“teng”)的公钥(id_dsa_1024_a.pub)拷贝到远地主机(remote.pku.edu.cn)上你自己家目录下的.ssh2目录下,可命名为“local.pub”,一般用ftp上传即可。


    在远地主机上,你自己家目录的.ssh2目录下,创建“authorization”文件,其中指定用来进行身份认证的公钥文件。命令如下:

    remote:~/.ssh2# echo “Key local.pub” > authorization


    现在你可以从本地用ssh2登录到远地系统了。命令如下:

    local# ssh remote.pku.edu.cn

    Passphrase for key "/home1/teng/.ssh2/id_dsa_1024_a" with comment "1024-bit dsa,

    teng@ns, Fri Oct 20 2000 17:27:05":***********


    这时会要你输入你的ssh口令(Passphrase)。验证通过后,即登录到remote主机上。
     
    ################################################################################
     
     
    1、环境:
      因为我们选用的SSH服务器是http://www.ssh.com 的SSH Secure Shell for unix类产品,所以我们主要介绍一下此类的Ssh服务器的安装过程。(SSH有两个版本,我们现在介绍的是版本2;Openssh就不介绍了,大家有兴趣的话可以参考一下网上文章)

      2、编译安装
      我们前面介绍过,现在的Ssh server for unix 类的最新版本是ssh-3.2.9-1,我建议大家用官方提供的TAR包,当然,如果你不熟悉编译过程,用RPM等安装方式也是可以的。如果用RPM安装,请先下载ssh-3.2.9-1.i386.rpm , 大家可以到以下地址下载:
      http://ftp.ssh.com/priv/secureshell/329wks+srv-lt49ldrk/linux/ssh-3.2.9-1.i386.rpm
      安装时请用管理员权限
      # rpm –ivh ssh-3.2.9-1.i386.rpm 如果是升级安装那参数就用 –Uvh
      而3.2.9-1的TAR包大家可以到http://downloads.planetmirror.com/pub/ssh/ssh-3.2.9.1.tar.gz下载。安装时也使用管理员权限:
      # tar xzvf ssh-3.2.9.1.tar.gz
      # cd ssh-3.2.9.1
      # ./configure (这里我们要说明一下,原来有些文档写如果你希望用tcp_wrappers来控制SSH,那么在configure时需要加上选项“--with- libwrap=/path/to/libwrap/”, 用来告诉SSH关于libwrap.a 和tcpd.h的位置,但3.2.0以上的SSH已经不需要这么麻烦了,它们已经内置了控制访问权限的功能。)
      # make ; make install ; make clean
      这样就结束了安装。

      3、简单配置Ssh server
      无论你是用RPM或TAR包安装的ssh server,它的配置文件都在/etc/ssh2/sshd2_config,安装完后一般不用配置它,但如果你的22端口在安装ssh server之前已经被其他程序占用,那么你需要简单的配置一下这个文件,执行 vi /etc/ssh2/sshd2_config,找到第27行,Port 22 ,把22改成其他的端口就可以了。

      4、启动Ssh server
      Ssh server 的默认启动文件是/usr/local/sbin/sshd2,而安装程序自动做了一个连接到这个文件的名字为sshd的文件,我们只要在/usr /local/sbin/目录中执行 ./sshd & 就可以简单的启用Ssh server,然后我们执行 # netstat –na 会看见22端口已经被监听了(你的可能是其他端口,具体看你在sshd2_config文件中的设置了。)但我们不想每次都要手动启动Ssh server,那么我们可以修改一下/etc/rc.d/rc.local文件,在这个文件的最后加入以下内容:
      #start ssh
      /usr/local/sbin/sshd &
      其中第一行为注释内容,第二行为启动SSH服务器并作为后台守护进程运行。
      这样就好了,系统重起时可以自动启动SSH服务,但是启动后你如果在服务器端插上显示器,会在最后该登陆的时候看到一行字,意思就是Ssh server 服务启动了,我比较挑剔,不想看到这个提示,而且我想把Ssh服务放到LINUX服务启动过程中,这样比较美观一点。那么我们就不能修改/etc /rc.d/rc.local文件,我们要进入/etc/init.d/中建立一个SHELL文件,名字就叫sshd 内容如下:
      #!/bin/bash
      cd /usr/local/sbin
      ./sshd &
      然后给这个文件加上可执行权限
      # chmod +x sshd
      然后进入/etc/rc3.d,做一个软链接文件
      # cd /etc/rc3.d
      # ln -s ../init.d/sshd S13sshd
      这样就达到了我的要求,好了,Ssh server的安装就介绍到这里吧,安装是很简单的,希望大家编译安装成功。

  • 相关阅读:
    Dart语言概览
    Flutter开发环境配置(MAC版)
    Jetpack系列:Paging组件帮你解决分页加载实现的痛苦
    Jetpack系列:应用内导航的正确使用方法
    Jetpack系列:LiveData入门级使用方法
    在Android平台使用SNPE应链接libc++库
    Android binder流程简图
    使用Visual Studio Code进行远程开发
    用clock()函数计时的坑
    OpenCV Mat格式存储YUV图像
  • 原文地址:https://www.cnblogs.com/zhongbin/p/3246076.html
Copyright © 2011-2022 走看看