刘贵学博客

SSH 秘钥部署常见场景

本文涵盖两个应用场景:

  1. 通过公钥访问git代码;
  2. Linux服务器自动登录;

首先安装 ssh的客户端与服务器端:

 apt-get install openssh-server openssh-client

1) 场景1:Git账户关联

例如 github.com 或者 coding.net 上传本地 的 pub key。

ssh-keygen -t rsa -b 4096 -C "your_email@example.com"
cd ~/.ssh
chmod  -R 700 ./
chmod 600 *

把产生的 pub key 配置到 SSH 秘钥设置界面即可。

2) 场景2: Linux服务器无密码自动登陆

客户端可以无密码登陆服务器。

  • (1). 需要在 客户端产生一对秘钥(参考上节)
ssh-keygen -t rsa -b 4096
cd ~/.ssh
chmod -R 700 ./
chmod 600 *
  • (2). 把公钥放到服务器配置SSHD;

~/.ssh/id_dsa.pub

  • (3). 配置sshd服务并启动;

配置sshd允许RSA登陆:

vi  /etc/ssh/sshd_config

将客户端上传的 pub key 放入可认证列表:

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys 

最后,启动服务器:

/etc/init.d/ssh [start/stop/restart/status]
或者
service sshd start
  • (4). 客户端直接透过 ssh config 里的配置,连接到服务器;
Host myserver
    HostName 139.129.208.188
    User root
    PreferredAuthentications publickey
    identityfile ~/.ssh/private-key
    Port 22

执行 ssh myserver 即可自动连接到远端服务器。