转自:http://blog.csdn.net/zxs9999/article/details/6930736

Ubuntu安装使用SSH

ubuntu默认并没有安装ssh服务,如果通过ssh链接ubuntu,需要自己手动安装ssh-server。判断是否安装ssh服务,可以通过如下命令进行:

  1. xjj@xjj-desktop:~$ ssh localhost
  2. ssh: connect to host localhost port 22: Connection refused
 

如上所示,表示没有还没有安装,可以通过apt安装,命令如下:

  1. xjj@xjj-desktop:~$ sudo apt-get install openssh-server
 

系统将自动进行安装,安装完成以后,先启动服务:

  1. xjj@xjj-desktop:~$ sudo /etc/init.d/ssh start
 

启动后,可以通过如下命令查看服务是否正确启动

  1. xjj@xjj-desktop:~$ ps -e|grep ssh
  2. 6212 ?        00:00:00 sshd
如上表示启动ok。注意,ssh默认的端口是22,可以更改端口,更改后先stop,
然后start就可以了。改配置在/etc/ssh/sshd_config下,如下所示。
  1. xjj@xjj-desktop:~$ vi /etc/ssh/sshd_config
  2. # Package generated configuration file
  3. # See the sshd(8) manpage for details
  4. # What ports, IPs and protocols we listen for
  5. Port 22
 

最后,应该是连接的时候了。请看如下命令:

  1. xjj@xjj-desktop:~$ ssh exceljava@192.168.158.129
 

========================================================

Red Hat Linux上安装使用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

使用如下命令进行安装: 
首先查询系统是否安装了上述软件包。

  1. # pm -qa |grep openssh

如果没有安装则执行如下命令。

  1. # rpm -ivh openssh-3.5p1-6
  2. # rpm -ivh openssh-server-3.5p1-6
  3. # rpm -ivh openssh-askpass-gnome-3.5p1-6
  4. # rpm -ivh openssh-clients-3.5p1-6
  5. # rpm -ivh openssh-askpass-3.5p1-6

安装完成之后,可以使用下述两个命令中的任一个进行启动。

  1. # service sshd start
  2. # /etc/rc.d/init.d/sshd start

另外,如果想在系统启动时就自动运行该服务,那么需要使用setup命令,在system service的选项中,选中sshd守护进程即可。 
安装启动完OpenSSH之后,用下面命令测试一下。

  1. # 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.生成用户自己的密匙对

用下面的命令可以生成公钥/私钥对:

  1. # ssh-keygen t 类型

。 
如果远程主机使用的是SSH 2.x就要用这个命令:

  1. # ssh-keygen d

。 
在同一台主机上同时有SSH1和SSH2的密匙是没有问题的,因为密匙是存在不同文件中的。ssh-keygen命令运行之后会显示下面的信息:

  1. # 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登录的远程主机上去; 私人密匙要好好地保管防止别人知道。用“

  1. # ls -l ~/.ssh/identity”或“# ls -l ~/.ssh/id_dsa”

命令所显示的文件的访问权限必须是“-rw-------”。

如果用户怀疑自己的密匙已经被别人知道了,应当马上生成一对新的密匙。当然,这样做之后还需要重新分发一次公用密匙,才能正常使用。

2.分发公用密匙 

在每一个用户需要用SSH连接的远程服务器上,都要在自己的主目录下创建一个“.ssh”的子目录,把用户的公用密匙“identity.pub”拷贝到这个目录下并把它重命名为“authorized_keys”。然后执行命令:

  1. # 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

  1. # ssh -l test www.test.com

下面主要介绍配置使用Windows环境下的putty工具来登录SSH服务器。该工具目前使用得相当普遍,可以从网上免费下载。目前网上的最新版本为: putty 0.58,对该版本进行安装后,进行如下步骤的配置:

  1. 打开该软件,进入配置界面,软件初始自动打开Session窗口。
  2. 在该界面的右半区域的【Host Name(or IP address)】编辑框中输入所要远程登录的服务器地址,这里设定为: 192.168.10.1,端口编辑框中输入默认的端口号22,然后单击【Save】按钮,保存输入配置,如图1所示。  
    图1 配置IP地址及端口号
  3. 单击【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键,完成文件的创建。这是完成公钥分发的过程。

  1. # cd ~
  2. # mkdir .ssh
  3. # cd .ssh
  4. # cat > authorized_keys

5.再次使用putty连接服务器,则可以自动登录,而不需要用户输入密码。

通过上述安装、配置及使用,用户可以放心、安全地使用SSH软件在Linux下进行数据传输。SSH软件的功能非常强大,除了本文讲述的内容之外,还有设置“秘密通道”,scp命令的使用等功能,有兴趣的读者可以参看相关资料,以获得更加安全、方便的使用效果。 
五、通过WinSCP访问linux 

  1. 下载一个WinSCP,下载后安装、运行
  2. 其实和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登录服务器的命令为:

  1. # sftp -oPort=22 sshuser@61.145.34.33
  • oPort 端口号
  • sshuser@61.145.34.33 用户名@ip

回车后,输入服务器sshuser的密码登录,然后会显示一个sftp>的环境,这个时候,键入help你会看到所有命令的帮助,跟ftp命令行工具非常类似,比如get,put等等。

原帖 http://www.javaeye.com/topic/212750

Linux上安装使用SSH(ubuntu&&redhat)的更多相关文章

  1. 【Linux】如何在Linux上安装使用SSH

    SSH是什么? Secure Shell 安全外壳协议 建立在应用层基础上的安全协议 可靠,专为远程登录会话和其他网络服务提供安全性的协议 有效防止远程管理过程中的信息泄露问题 SSH客户端适用于多种 ...

  2. Linux上安装使用SSH

    參考博客:http://blog.csdn.net/xqhrs232/article/details/50960520 Ubuntu安装使用SSH ubuntu默认并没有安装ssh服务,如果通过ssh ...

  3. 怎样在 Ubuntu Linux 上安装 MySQL

    本教程教你如何在基于 Ubuntu 的 Linux 发行版上安装 MySQL.对于首次使用的用户,你将会学习到如何验证你的安装和第一次怎样去连接 MySQL. -- Sergiu MySQL 是一个典 ...

  4. Ubuntu 18.04 Linux上安装Etherpad,基于Web的实时协作编辑器

    介绍 Etherpad是一个开源的,基于Web的实时协作编辑器(http://www.0834nanke.com) 它允许多个人使用他们的Web浏览器同时编辑文档. 它还提供了一些很酷的功能,如富文本 ...

  5. 【BI学习笔记】在Linux上安装Wyn Enterprise商业智能报表服务器

    在百度文库上找来的,放到这里,避免以后丢了. 葡萄城出品的Wyn Enterprise商业智能软件的设计器和查看视图是通过浏览器使用的,不需要安装专门的程序.Wyn Enterprise的服务器端可以 ...

  6. .NET平台系列27:在 Linux 上安装 .NET Core/.NET5/.NET6

    系列目录     [已更新最新开发文章,点击查看详细] .NET 在不同的 Linux 发行版上可用. 大多数 Linux 平台和发行版每年都有一个主要版本,并提供用于安装 .NET 的包管理器. 本 ...

  7. 在Windows和Linux上安装paramiko模块以及easy_install的安装方法

    一.paramiko模块有什么用? paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接.由于使用的是python这样的能够跨平台运行的语言 ...

  8. 在Windows和Linux上安装paramiko模块

    一.paramiko模块有什么用? paramiko是用python语言写的一个模块,遵循SSH2协议,支持以加密和认证的方式,进行远程服务器的连接.由于使用的是python这样的能够跨平台运行的语言 ...

  9. linux上安装Drupal

    linux上安装Drupal 前言:国内用drupal的并不太多,网上资料也很少.要注意的是drupal尽量别使用apt来安装,特别是ubuntu平台的drupal做出了一定的更改,会妨碍后期的学习和 ...

随机推荐

  1. 2.ubuntu的使用

    1. CTRL+ALT+T 可以将命令模式打开 2. 有可能没办法进行yum ,它会告诉你操作的方法 3. 有些操作需要获得root的权限才可以,我们得进入root状态 --> sudo pas ...

  2. js判断文件格式及大小

      //判断照片大小 function getPhotoSize(obj){     photoExt=obj.value.substr(obj.value.lastIndexOf(".&q ...

  3. 安装node的最新版本

    前段时间小试了一下node 这段时间就差不多忘了 恩 然后现在自己想去回顾一下,然后流程想再好好弄一遍 争取掌握node 因为我现在已经安装了 一个node版本 那我想安装最新版本吧 首先,看看你的n ...

  4. Django 项目CRM总结

    0. 项目说明: 1. 销售自动分配客户资源: 给销售分配权重及承单数量,创建权重表,通过销售权重进行从大到小进行排序 以承单数循环添加到列表,承单数是多少列表添加就添加多少次 考虑到如果服务重启,或 ...

  5. How To Install Nginx on Ubuntu 16.04 zz

    Introduction Nginx is one of the most popular web servers in the world and is responsible for hostin ...

  6. 《java并发编程实战》读书笔记8--死锁,性能与可伸缩性,锁粒度锁分解锁分段

    第10章 避免活跃性危险 10.1 死锁 -10.1.1 锁顺序死锁 最简单的一种死锁形式: -10.1.2 动态的锁顺序死锁 可以通过下面的方法来解决: -10.1.3 在协作对象之间发生死锁 -1 ...

  7. hdu 5023

    A Corrupt Mayor's Performance Art Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 100000/100 ...

  8. Valid Number——分情况讨论最经典的题(没细看)——这题必须静下心来好好看看

    Validate if a given string is numeric. Some examples: "0" => true " 0.1 " =&g ...

  9. angularJS的MVC的用法

    1.前端MVC: M:Model,数据库 V:HTML页面 C:Control控制器 比较很有名的前端MVC框架:ExtJs 2.angularJS的MVC框架搭建 index.html代码如下: & ...

  10. something about WinPE系统

    [问]:啥是Win PE系统?做什么用的?和Win7哪个好? [答]:Win PE系统是一个小型系统,一般用特殊工具将Win PE制作在U盘里,电脑110的志愿者们使用它对电脑上原有系统进行修复或是进 ...