1.概述

传统的远程登录(telnet,rlogin)时不安全的,他们在网络上用明文传输口令和数据,SSH则是安全的,openssh提供两种级别的验证方式。

(1)基于口令的安全验证:知道服务器的帐号密码即可远程登录,口令和数据在传输过程中都会被加密。

(2)基于密钥的安全验证:此时需要在创建一对密钥,把公有密钥放到远程服务器上自己的宿主目录中,而私有密钥则由自己保存。

2.软件安装

sudo apt-cache policy openssh-client openssh-server 检查软件是否安装

服务端: sudo apt-get install openssh-server

客户端: sudo apt-get install openssh-client (ubuntu10.10以后的版本都已经安装了)

该软件包中还携带了一些其他的SSH工具,如ssh-keygen用来生成私钥/公钥对;scp可以用通过ssh远程复制文件;stfp可以实现的ftp传输文件

3.配置文件

zone@zone-ThinkPad-T410:/etc/ssh$ ls -l

total 

-rw-r--r--  root root  -- : moduli  //ssh服务器的Diffie-Helllman密钥文件

-rw-r--r--  root root    -- : ssh_config  //ssh客户端配置文件

-rw-r--r--  root root    -- : sshd_config  //ssh服务器端配置文件

-rw-------  root root     -- : ssh_host_dsa_key  //ssh服务器端dsa算法私钥

-rw-r--r--  root root     -- : ssh_host_dsa_key.pub  //ssh服务器rsa公钥

-rw-------  root root    -- : ssh_host_rsa_key  //ssh服务器rsa算法私钥

-rw-r--r--  root root     -- : ssh_host_rsa_key.pub  /ssh服务器rsa算法公钥

4.常用命令

sudo /etc/init.d/ssh start|stop|restart|status(其中一个)

5.基于口令的认证

ssh 192.168.0.143/主机名(server ip 192.168.0.143)

初次登录服务器时会出现许多信息,这是因为ssh不能识别这台主机,输入yes后将会把这台服务器的信息写入~/.ssh/known_hosts文件,下次登录时就不会出现这样的信息。

6.基于密钥的认证

将公钥复制到远程服务器上;

这样当client登录server时,会向server提出请求,用私钥认证;

server收到请求后,寻找公钥进行身份认证。

(1)生成密钥  ssh-keygen -t rsa/dsa( 默认rsa)

生成私钥:~/.ssh/id_rsa,公钥~/.ssh/id_rsa.pub,

(2) scp id_rsa.pub 192.168.0.143:.ssh/authorized_keys  并确保权限为。

(3) ssh 192.168.0.143  如果执行ssh-keygen过程中设置了私钥密码,则登录过程中会要求输入私钥密码。否则直接登录完成。

7.scp简单使用

scp ip1:file1 ip2:file2

其中第一个参数是源文件,第二个时目标文件,当参数是ssh登录到的主机时可以省略ip或者主机名。当是两个参数是两台远程主机的ip时,可以实现两台远程主机之间的文件传输。

例如 scp /home/zone/.sh 192.168.0.143:/home/erpang 就会从服务器下载1.sh到主机的erpang目录下。

原文链接:http://www.cnblogs.com/xdzone/archive/2011/03/09/1978327.html

ZH奶酪:Ubuntu客户端通过SSH方式远程登录Ubuntu服务器的更多相关文章

  1. ubuntu开启SSH服务远程登录

    http://blog.csdn.net/jackghq/article/details/54974141 ubuntu开启SSH服务远程登录

  2. ZH奶酪:putty远程登录Linux服务器非常慢

    11.pytty远程登录Linux服务器非常慢 http://www.it165.net/os/html/201209/3425.html 12.启动SSHD服务报错 http://blog.chin ...

  3. 使用putty远程登录Ubuntu时,报Network error:Connection refused错误及解决(记录)

    putty远程登录Ubuntu,弹出Network error:Connection refused的错误提示框,就是因为Ubuuntu没有安装ssh服务.执行命令: sudo apt-get ins ...

  4. 使用putty远程登录Ubuntu时,报Network error:Connection refused错误及解决

    putty远程登录Ubuntu,弹出Network error:Connection refused的错误提示框,就是因为Ubuuntu没有安装ssh服务. 执行命令: sudo apt instal ...

  5. 使用putty远程登录Ubuntu时,报Network error:Connection refused错误

    putty远程登录Ubuntu,弹出Network error:Connection refused的错误提示框,就是因为Ubuuntu没有安装ssh服务.执行命令: sudo apt-get ins ...

  6. ssh远程登录linux服务器

    ssh远程登录linux服务器 用法: ssh -l user -p port server_ip 或者 ssh -p port user@server_ip 参数: -l 后接要登录的远程系统用户名 ...

  7. ssh免密登录linux服务器

    Ssh免密登录 sshd服务 sshd简介: SSH 密钥为登录 Linux 服务器提供了更好且安全的机制.运行 ssh-keygen 后,将会生成公私密钥对.你可以将公钥放置到任意服务器,从持有私钥 ...

  8. Ubuntu 18 通过ssh连接远程服务器

    ps -e | grep ssh 查看自己的Ubuntu是否开启ssh服务,如果我们要连其他的,那需要有 ssh-client的进程 如果我们的作为主机,那需要有sshd的进程 相应的安装方法: cl ...

  9. Ubuntu下使用SSH 命令用于登录远程桌面

    https://blog.csdn.net/yucicheung/article/details/79427578 问题描述 做DL的经常需要在一台电脑(本地主机)上写代码,另一台电脑(服务器,计算力 ...

随机推荐

  1. python调用matlab

    官网链接: https://ww2.mathworks.cn/help/matlab/matlab_external/call-user-script-and-function-from-python ...

  2. django官方文档读书笔记

    写在前面:这算是第二次读英文原文文档,第一次是读scrapy,感觉还是要做笔记,好记性不如烂笔头,现在已经忘了scrapy文档讲了什么了,心疼.以后要多读多写 经过半年的基础学习(懒,拖延)终于来到w ...

  3. UVALive 4863 Balloons 贪心/费用流

    There will be several test cases in the input. Each test case will begin with a line with three inte ...

  4. 用Parallel.For()和Parallel.For<TLocal>()方法实现并行运行迭代

    Parallel类是.NET 4中新增的抽象线程类.如果你开发用的是VS2008或更低版本,那么就直接关闭吧,下面两个示例用了匿名委托,如果不知道匿名委托的语法,那么先去简单了解一下,不然很难理解示例 ...

  5. VS2010属性

    基于virtual studio 所有工程属性和  工程属性 这是VS2010的改变,不能够在“工具-选项”中看到“VC++目录”了. 但是呢,我们可以在另外一个地方找到它,请看下边的对比照片. VS ...

  6. Selenium2+python自动化60-异常后截图(screenshot)

    前言 在执行用例过程中由于是无人值守的,用例运行报错的时候,我们希望能对当前屏幕截图,留下证据. 在写用例的时候,最后一步是断言,可以把截图的动作放在断言这里,那么如何在断言失败后截图呢? 一.截图方 ...

  7. icanhazip.com 使你在不论什么地方知道你的公网IP地址

    icanhazip.com 使你在不论什么地方知道你的公网IP地址 icanhazip.com是一个网址,你在浏览器中输入这个网址,你就能得到你的公网IP地址了. 我在Linux下一般使用curl i ...

  8. Android之获取sdcard卡的信息

    public static SDCardInfo getSDCardInfo() { String sDcString = android.os.Environment.getExternalStor ...

  9. Android之应用内部实现国际化

    这篇文章也提供了应用内部转换语言的方法: http://blog.csdn.net/sodino/article/details/6596709 .1和2的方法是一样的,然而还是会调整了手机的语言设置 ...

  10. RestClient POST

    SSL: ServicePointManager.ServerCertificateValidationCallback += (sender, cert, chain, sslPolicyError ...