不灭的焱

革命尚未成功,同志仍须努力

作者:php-note.com  发布于:2018-12-22 22:19  分类:Linux软件安装/优化  编辑

任务目标

有如下2台Linux主机

主机A:192.168.1.1

主机B:192.168.1.2

用 主机A 上的用户 www,登录到 主机B(root用户)

操作过程

1、配置 主机A

(1) 配置 主机A上 用户 www 的公钥:

cd /home/www
ssh-keygen -t rsa -C "lesjava@163.com"

 

(2) 拷贝 主机A上 用户 www 的公钥到 主机B 上 用户 root 的家庭目录 /root 下:(注意:需要输入 root 用户密码)

scp /home/www/.ssh/id_rsa.pub root@192.168.1.2:/root/

2、配置 主机B

(1) 追加上述拷贝过来的 公钥文本内容到 root 用户的 authorized_keys 文件中(注意:用 root 用户去操作)

cat /root/id_rsa.pub >> /root/.ssh/authorized_keys 

 

(2) 配置 sshd

vim /etc/ssh/sshd_config

去掉以下配置前的注释符 “#

#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile      .ssh/authorized_keys

 

(3) 设置权限注意:这一步很重要,不然免密登录会失败

chmod 700 /root/.ssh
chmod 600 /root/.ssh/authorized_keys

 

(4) 重启 sshd 服务

service sshd restart

3、测试

在主机A 上 用 ssh 命令连接测试下,,,结果是:不用输入密码的

ssh root@192.168.1.2

即:当前 主机A 的登录用户 www,用 主机B 的用户 root 去登录 主机B,然后 用 主机B 的用户 root 去操作 主机B

 

顺便提一下:给 gogs (git项目管理系统) 账号配置公钥,其实是:

当前 主机A 的登录用户(如:www),用 主机B 的用户(如:gogs)去登录 主机B,然后用 主机A 的登录用户(如:前面的提到的 www),去操作 主机A

 

 

参考:

Linux下的 scp 拷贝命令详解

Linux命令之 ssh 基本用法

 

菜鸟Linux系列:SSH免密码登陆远程服务器

Linux使用ssh公钥实现免密码登录Linux

Linux下实现免密码登录(超详细)