使用公钥实现免登陆ssh
每次ssh的时候都要输入密码很烦,密码太简单不安全,密码复杂了输起来很麻烦,下面介绍一下如何配置公钥实现免密码登陆.
产生及查看公钥
- 打开终端,查看~/.ssh目录下是否有id_rsa.pub文件,如果有可以直接跳过下面第二步,如果没有,请看第二步.
- 生成RSA密钥1ssh-keygen -t rsa -C "youname@domain.com"
把公钥添加到服务器信任列表
- 打开id_rsa.pub文件,拷贝除『yourname@domain.com』之外的部分,也就是”ssh -rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQ…”.
- ssh登录你的服务器,进入~/.ssh目录,建立authorized_keys文件,添加刚才拷贝的内容,保存并退出.
至此,免密码ssh配置完成.
用途
目前我的用途是:
- 开机自动建立sock5代理:
新建一个脚本,我取名为vps.login
,里面内容如下:1while true; do ssh -D 7070 root@my-vps-domain || true; done
然后加到开启启动中,这样我就可以生活在墙外了.
- 持续集成定时更新:
由于现在ssh登录不需要密码,那么scp命令也不用输入密码了,可以利用scp命令把持续集成服务器打好的包定时传送到测试服务器,并用ssh命令重启测试服务器的服务.实现自动化持续集成.1234# scp 命令传递文件scp -r ./some files root@my-vps-domain:/path# ssh 远程执行命令ssh root@my-vps-domain "shell scripts"