当前位置:Linux教程 - Linux文化 - 如何设置两台机器不需密码进行SSH/SCP?

如何设置两台机器不需密码进行SSH/SCP?


  简介: 前面的一篇文章中谈到如何在两台机器上安装并设置SSH,给两台机器之间的各种操作加密, 这次介绍如此设置SSH使得当一台机器ssh/scp到另一机器时勿需输入密码,在某些情况下能大大方便日常操作。

  前提: 两台机器取名为sh-proxy和jephe,均为Redhat 6.1,均安装了SSH-1.2.27 rpm 包,现 需要从jephe SSH/SCP到sh-proxy时取消密码提示。 sh-proxy(192.168.11.5) , jephe(192.168.11.12)

  步骤:
   1. 更改sh-proxy上的/etc/ssh/sshd_config,加下面一行到SyslogFacility DAEMON的后面:
AllowSHosts 192.168.11.12
如想要多台机器能不用密码SSH,加它们的IP在后面,后空格分开,如:
AllowSHosts 192.168.11.12 192.168.11.2

2. 如果你的/etc/hosts.deny中是ALL:ALL,那么你需要加下面的行到/etc/hosts.allow
sshd: 192.168.11.12
sshd1:192.168.11.12

3. 在/root目录下建一文件.shosts(组用户不能有写权限),内容如下:
192.168.11.12 root
如还想加其它的机器,则一行一个,如:
192.168.11.12 root 192.168.11.2 root

4. 在sh-proxy上试着运行 #ssh jephe
[root@sh-proxy /root] # ssh jephe
Host key not found from the list of known hosts.
Are you sure you want to continue connecting (yes/no)? yes
Host 'jephe' added to the list of known hosts.
root@jephe's password:
   然后你将发现在sh-proxy上的/root/.ssh/known_hosts中有一行象这样:
[root@sh-proxy .ssh]# more /root/.ssh/known_hosts
jephe 1024 33 109375014527852033162047553102075772652631881592234647764468396691255608762224657834 80298686537210688873174702050014769801616589285981388589754511598153852154126943077621683137008668 04259596243761543786791251880161497290889895171079590139873855983501306014667625589270725783274492 09005322534597695080345678

5. 你还需要编辑上面的文件,加第二行象这样(按yy,再p复制一行文本),也就是加 jephe机器的全称域名。
jephe 1024 33 109375014527852033162047553102075772652631881592234647764468396691255608762224657834 80298686537210688873174702050014769801616589285981388589754511598153852154126943077621683137008668 04259596243761543786791251880161497290889895171079590139873855983501306014667625589270725783274492 09005322534597695080350486293 jephe.yourdomainname.com 1024 33 1093750145278520331620475531020757726526318815922346477644683966912 55608762224657834802986865372106888731747020500147698016165892859813885897545115981538521541269430 77621683137008668042595962437615437867912518801614972908898951710795901398738559835013060146676255 8927072578327449209005322534597695080350486293

6. 至些,全部结束,你能从jephe上SSH/SCP sh-proxy不需要密码提示:
[root@jephe /root]# ssh sh-proxy
Last login: Sat Nov 6 00:53:13 1999 from jephe.yourdomainname.com
No mail.
[root@sh-proxy /root]#

7. 同样的方法,在jephe上设置允许sh-proxy上的root不需要密码可直接登录jephe.

8. 如有问题,你可以打开-v开关查错。如在机器jephe上 # ssh -v sh-proxy.

应用实例:
  1. 在一台机器(jephe)上直接列出另一台机器(shopu)上/root目录下的文件。

[root@jephe /root]# ssh shopu ls /root -l
total 194
-rw-r--r-- 1 root root 168676 Oct 26 17:50 6.1
-rw-rw-r-- 1 root root 1201 Aug 9 10:15 Xrootenv.0
drwxrwxr-x 2 root root 1024 Sep 21 09:57 backup
-rw------- 1 root root 8192 Aug 2 13:40 core
drwxr-xr-x 10 root root 1024 Aug 6 15:29 crack-4.1f
-rw-rw-r-- 1 root root 11409 Aug 5 13:28 dhcpd.conf
-rw------- 1 root root 4599 Oct 22 11:48 mbox
-rw-r--r-- 1 root root 46 Sep 22 11:13 minicom.log
-rw------- 1 root root 0 Jun 29 19:57 nohup.out
2. 直接拷贝另一机器shopu上一个文件到本机的当前目录下。
[root@jephe /tmp]# scp shopu:/home/ftp/pub/tools/viruscan/sdat4050.exe .
sdat4050.exe       | 3981 KB | 568.8 kB/s | ETA: 00:00:00 | 100%
3. 直接拷贝本机上一个文件newkernel.tar到另一机器shopu。
[root@jephe /tmp]# scp newkernel.tar shopu:/home/ftp/pub/tmp
newkernel.tar       | 1120 KB | 373.3 kB/s | ETA: 00:00:00 | 100%

[eNet 作者:Jephe Wu]


——摘自:中华网