ssh跳板机通过key免密登录目的机器:

虚拟机debian9上实现ssh到虚拟机centos7,关键步骤是需要把debain9的公钥/root/.ssh/ id_rsa.pub复制到centos上的/root/.ssh/authorized_keys里,之后可以在debian9上使用ssh [email protected] -p 22

免密切换到centos7。

具体步骤:

1.在跳板机debian9下/root/.ssh配置config文件:

vi config

ControlMaster auto

ControlPath /tmp/ssh_mux_%h_%p_%r ##这个字段是否限定了只能root登录,无法使用zrj登录?###不是,操作错误,一般用户登录需要指定对应私钥去登录,同时需要目的机器设置好.sss目录下的权限。

ControlPersist 1h

StrictHostKeyChecking no

SendEnv LANG LC_*

GSSAPIAuthentication no

GSSAPIDelegateCredentials no

 

Host S1   

#主机名

HostName 192.168.65.128    

#内网IP

User root

Port 22

 

Host S2

#主机名

HostName 192.168.65.130  #### 192.168.65.128为centos7的eth0,虚拟多一个网卡eth0:0为 192.168.65.130

#内网IP

User zrj

Port 22

2.目的机器authorized_keys写入debian9的公钥

生成秘钥:ssh-keygen -t rsa,默认会生成id_rsa,id_rsa.pub,authorized_keys等几个文件。

vi  /root/.ssh/authorized_keys

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDOcOR9RIYt6UEquX4yaGWxzmach7aFZbg+DcrkVAPlf4+bn7Rs/Q/DDQEjB9vHizm5ACrU7/X3yiRrhZzQa6OGq6Fwl7Xj/co9P5pzcWbyeOPFeymGCJ07sim4Ow+CPUEFYPxNocJp9zJnD6cgK6inCnm31iRYmN8SMBQeRuAGMpVmeTFVTWsuQuYrhDpOznOrwQMt0t3hoU3Dh/mq/OY+7PjvyN5Ku6pamZgtKjgWm6HWWMa7Baq2LDzxrTS4rV6hltiVZqroumM5mj4OyYhAuIaUVDYOss3bWeKsqHN6uv7OM66yxIrDnPhwy0uvUOTFuSOpmwEE**************************1518130****@qq.com 

3.centos7重启sshd服务

4.大问题:如果是需要使用一般的用户进行登录,比如通过zrj在debian9登录到centos7,则需要把在debian9下zrj生成公钥key,之后把/home/zrj/.ssh/ id_rsa.pub复制到目的机器centos7的authorized_keys里。

实际操作后,ssh [email protected] -p 22还是会提示输入zrj的密码,哪里出了问题?

有解:

原因:/etc/ssh/sshd_config里面默认使用的秘钥文件是root用户的,对应的其他用户,需要额外的指定秘钥文件。

/home/zrj/.ssh/ id_rsa.pub复制到目的机器centos7的authorized_keys,复制到目的机器对应用户的~/.ssh/authorized_keys里面。比如zrj用户,需要把公钥复制到/home/zrj/.ssh/authorized_keys,之后修改目录及文件权限:

[root@localhost .ssh]# chmod 700 /home/zrj/.ssh/

[root@localhost .ssh]# chmod 600 /home/zrj/.ssh/authorized_keys

重启sshd服务,在debain指定私钥文件实现免密登录:

 

重启过后连root也失去免密登录,什么原因?由于修改了authorized_keys,将root的key注释导致,取消注释后root能免密登录。

另:centos配置eth0:0,使用192.168.65.130这个ip,ping通telnet不通,无法ssh登录。

原因:/etc/ssh/sshd_config之前修改了ListenAddress 字段,只监听了192.168.65.128,注释掉后正常。

/etc/ssh/sshd_config里面也指定了秘钥认证方式的文件路径.ssh/authorized_keys。

 

 

 

你可能感兴趣的:(ssh)