linux下怎样设置ssh无密码登录

如题所述

1、要配置ssh首先要先有ssh,所以第一步要进行安装。sudo apt-get install
openssh-server
2、首先需要给几台互联的计算机配置hosts文件,例如TOM机
sudo vi /etc/hosts
添加几条内容
192.168.0.37 TOM
192.168.0.111 CAT
192.168......
........等等这些就是要联机的计算机名和IP对应直
保存退出,并且每台计算机都要这样配置
3、然后特别要注意一点的就是你需要在哪个用户下面使用无密码访问,一定要弄清楚,因为linux是多用户系统,所以不同的用户设置不同,可能会引起不必要的问题。
4、所以我这里设定一个场景,描述为计算机TOM,计算机CAT,分别都有一个用户为shu,设置要求:
1)先让TOM可以自己无密码访问自己;
2)让TOM无密码访问CAT;
3)让CAT无密码访问TOM;
先来解决第一个问题
在任何访问以前首先要确保要访问的计算机没有开启防火墙
1)在TOM上,以shu的用户身份生成密码,使用命令ssh-keygen -t
rsa,接下来会出现系列提示,一直回车即可,出现以下说明生成密码成功
shu@tom:~$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/shu/.ssh/id_rsa):
/home/shu/.ssh/id_rsa already exists.
Overwrite (y/n)? y
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/shu/.ssh/id_rsa.
Your public key has been saved in /home/shu/.ssh/id_rsa.pub.
The key fingerprint is:
21:94:35:a3:cc:30:0b:41:18:8f:4b:55:02:61:51:ad shu@tom
The key's randomart image is:
+--[ RSA 2048]----+
|.OO==..o+
|
|oo...O..
o
|
|... o =
.
|
|.. E .
.
|
|.
S
|
|
|
|
|
|
|
|
|
+-----------------+
这时会产生几个文件,然后进入文件夹cd /home/shu/.ssh就会发现有:
id_rsa id_rsa.pub
known_hosts文件,其中,id_rsa是密钥放在本地机上,id_rsa.pub是公钥,需要给访问的计算机上,所以接下来,要生成一个authorized_keys文件,将id_rsa.pub内容放入authorized_keys,需要指令
cp id_rsa.pub authorized_keys即可,或者ls id_rsa.pub
复制内容,粘贴到authorized_keys也行,这样就是说把TOM的shu当成要登录的计算机,自己无密码访问自己,此时就可以使用ssh
shu@TOM即可无密码访问,也可能第一次需要密码,以后就不需要密码了。
2)要使TOM无密码访问CAT
可以使用远程访问ssh登录到CAT上,在shu用户下面使用ssh-keygen -t rsa命令,再进入cd
/home/shu/.ssh
对authorized_keys进行编辑,把TOM下shu的authorized_keys的内容复制给CAT下的authorized_keys就可以了。
3)TOM和CAT相互无密码访问
只需在2步的基础上,把CAT下面的id_rsa.pub的内容也复制给他自己和TOM的authorized_keys就可以了,这样双方都具有对方和自己的公钥,就可以实现无密码访问了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-01-12
有两种方法,可以用证书实现无密码登录,或者sshpass命令可以指定ssh登陆密码。 1、派出间谍 Step 1:执行ssh-keygen -t rsa,会在~/.ssh下生成两个文件,id_isa和id_isa.pub On one of the localLINUX (not SGI) machines, generate an id_rsa ...本回答被提问者采纳
相似回答