免口令登录远程SSH服务

切换到本地~/.ssh目录下,执行下面命令生成本地账户的RSA密钥对。需要一个公钥和一个私钥,私钥自己保留,公钥是保存在远程服务器上的。原理是,当你用ssh连接远程服务器的时候,服务器会找到对应的公钥,然后用那个公钥对一串东西进行加密,发送给客户端,客户端必须使用本地的私钥对这串东西进行解密,把结果返回给服务器,服务器核对无误,客户端便成功登录。

root@xiaoxia-pc:~/.ssh# ssh-keygen -trsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
eb:2e:9b:ed:2b:e6:0e:d7:ad:dd:ec:50:73:20:ca:77 root@xiaoxia-pc
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|                 |
|          . .    |
|       . . . .   |
|        S . E .  |
|       . + o o   |
|    . . o o      |
|     o++ o +     |
|     +=*B...+    |
+-----------------+


上传id_rsa.pub文件,把内容追加到远程服务器账户的.ssh目录下,但是要追加到authorized_keys这个文件里。因为远程服务器上的目录下默认没有authorized_keys这个文件,因此直接复制。

root@xiaoxia-pc:~/.ssh# scp id_rsa.pub root@xiaoxia.org:/root/.ssh/authorized_keys

这样再加上一个命令的快捷方式,就可以实现一键回车登录远程服务器了。可以使用-D参数,默认打开一个本地的socks5代理。

root@xiaoxia-pc:~# echo “ssh root@xiaoxia.org -D7070″ > /usr/local/bin/xx
root@xiaoxia-pc:~# chmod +x /usr/local/bin/xx
root@xiaoxia-pc:~# xx
Linux xiaoxia.org 2.6.18-238.12.1.el5.028stab091.1 #1 SMP Wed Jun 1 13:20:25 MSD 2011 i686 GNU/Linux
Ubuntu 10.10

Welcome to Ubuntu!
* Documentation: https://help.ubuntu.com/
Last login: Mon Oct 31 09:08:27 2011 from 120.196.48.170
root@xiaoxia:~#

免口令登录远程SSH服务》上有25条评论

    1. Xiaoxia 文章作者

      你好,是最便宜的那款,$5.95。还没出现过硬件上的大问题,用得比较放心。
      可能偶尔会有一段时间国内访问速度不是很好。

      回复
              1. Caboo

                RAID 10 四块硬盘都能全部坏掉, 还能相信爱情么?
                —————————————————–
                硬盘的成本也是挺高的, 如果做硬件RAID的话, 更高.
                —————————————————–
                好吧, 先不考虑上面两个. 其实BURSTNET丢数据不是一两次了.

                回复
                1. Xiaoxia 文章作者

                  你怎么玩的呀!!!我自己的两台PC,开着运行了将近2年,都还没见硬盘处事。。。 我觉得寿命跟用途有太大关系!!!

                  回复
    2. Xiaoxia 文章作者

      PING信息:

      root@xiaoxia-pc:~/test# ping xiaoxia.org -n
      PING xiaoxia.org (184.22.224.212) 56(84) bytes of data.
      64 bytes from 184.22.224.212: icmp_req=1 ttl=46 time=189 ms
      64 bytes from 184.22.224.212: icmp_req=2 ttl=46 time=186 ms
      64 bytes from 184.22.224.212: icmp_req=3 ttl=46 time=186 ms
      64 bytes from 184.22.224.212: icmp_req=4 ttl=46 time=184 ms
      ^C
      — xiaoxia.org ping statistics —
      4 packets transmitted, 4 received, 0% packet loss, time 3003ms
      rtt min/avg/max/mdev = 184.891/186.774/189.517/1.692 ms

      机房位置:

      IP: 184.22.224.212
      Country: United States (US)
      Region: California
      City: Los Angeles
      Time Zone: America/Los_Angeles
      Longitude: -118.26419830322266
      Latitude: 34.053001403808594

      回复
        1. Xiaoxia 文章作者

          ^_^ 我一直是用root的,习惯了。从以前玩debian的时候就开始。
          我本地的是Kubuntu桌面版的,用root需要修改kde的配置文件。而且我的桌面系统是默认以root身份自动登录,但是会锁住屏幕,所以通常我开机之后离开,再回到电脑前,输入密码就可以用,而不必等待登录过程。
          Ubuntu服务器的root账户应该是默认开启的吧,我经常发现会有人在试探我服务器的root的密码,现在把端口和IP都限制了,会比较安全。

          回复
          1. Creke

            依稀记得Ubuntu桌面的root每次会改密码。服务器的话,个人在用密钥。
            Kubuntu神马的,很拉风啊!
            虚拟机党掩面飘过……

            回复
              1. Xiaoxia 文章作者

                同意,^_^
                我昨晚装了个CentOS的Minimal版本,300MB左右的iso,进入系统也是直接用root的。
                另外,我笔记本的桌面kubuntu也是直接用root帐号。我自己用一般都不会有多大问题。

                回复
    1. Xiaoxia 文章作者

      哈哈,不止我一个blog,也有别的站点,也有我的一些小实验室,也可以翻~墙什么的。

      回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>