ssh免密登陆访问

两台主机A(192.168.1.2)和B(192.168.1.3),主机A的root用户希望以主机B的sunway账户免密登陆主机B。

主机A的root账户生成公钥拷贝到主机B的sunway账户的~/.ssh/authorized_keys文件里面,这样主机A的root账户通过主机B的sunway账户访问主机B不需要密码。

 

》步骤一 

在主机A的root账户home目录下面生成公钥。

生成公钥命令(按三次回车)

ssh-keygen -t rsa

 

这样在/root/.ssh/目录下面就会有id_rsa.pub公钥文件,通过下面的命令,把公钥拷贝到主机B的sunway账户目录下面

scp /root/.ssh/id_rsa.pub sunway@192.168.1.3:/home/sunway

  

如果第二台主机的端口为非22端口(如端口为1234),则需要如下处理

scp -P 1234 /root/.ssh/id_rsa.pub sunway@192.168.1.3:/home/sunway

 

》步骤二

主机B用sunway账号登陆,如果/home/sunway目录下没有.ssh目录,则手动创建 .ssh目录:mkdir .ssh。.ssh是隐藏的,要用 ls -a 查看。

在/home/sunway目录下面执行以下命令:

cat id_rsa.pub >> .ssh/authorized_keys 

然后把复制来的文件 改名拷贝到.ssh目录

mv id_rsa.pub .ssh/A.pub

改变.ssh目录权限,只有普通用户有权限

chmod 700 .ssh

改变authorized_keys文件的权限,必须是600 读写权限

chmod 600 .ssh/authorized_keys

 

这样主机A的root账户访问主机B的sunway账户就不需要密码

ssh sunway@192.168.1.3 即可进入主机B的sunway账户home目录。

如果主机B的ssh端口为1234(不是默认的22),则需要带上端口参数进行访问,如下:

ssh –p 1234 sunway@192.168.1.3 

 

注意:scp和ssh两个命令的端口参数是不一样的,scp后面跟的是大写的P,ssh后面跟的是小写的p

 

同理,如果主机B的sunway账户需要免密登陆主机A的root账户的话,按上面的步骤反过来操作一下即可实现。

注意是账户对应的.ssh目录,比如要访问对方主机的某个用户账户(如上面的主机B的sunway账户),必须把公钥放到对方主机某个用户的home目录下面的.ssh/authorized_keys文件里面(如上面主机B的/home/sunway/.ssh/authorized_keys)。

posted @ 2018-08-27 20:01  sunway  阅读(246)  评论(0)    收藏  举报