每次ssh的时候都要输入密码很烦,密码太简单不安全,密码复杂了输起来很麻烦,下面介绍一下如何配置公钥实现免密码登陆.

产生及查看公钥

  1. 打开终端,查看~/.ssh目录下是否有id_rsa.pub文件,如果有可以直接跳过下面第二步,如果没有,请看第二步.
  2. 生成RSA密钥
    1
    ssh-keygen -t rsa -C "youname@domain.com"

把公钥添加到服务器信任列表

  1. 打开id_rsa.pub文件,拷贝除『yourname@domain.com』之外的部分,也就是”ssh -rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ…”.
  2. ssh登录你的服务器,进入~/.ssh目录,建立authorized_keys文件,添加刚才拷贝的内容,保存并退出.
    至此,免密码ssh配置完成.

用途

目前我的用途是:

  1. 开机自动建立sock5代理:
    新建一个脚本,我取名为vps.login,里面内容如下:
    1
    while true; do ssh -D 7070 root@my-vps-domain || true; done

然后加到开启启动中,这样我就可以生活在墙外了.

  1. 持续集成定时更新:
    由于现在ssh登录不需要密码,那么scp命令也不用输入密码了,可以利用scp命令把持续集成服务器打好的包定时传送到测试服务器,并用ssh命令重启测试服务器的服务.实现自动化持续集成.
    1
    2
    3
    4
    # scp 命令传递文件
    scp -r ./some files root@my-vps-domain:/path
    # ssh 远程执行命令
    ssh root@my-vps-domain "shell scripts"

Comments

Nov 30 2015

⬆︎TOP