水文一篇。
由于安全考虑,Raspberry Pi ,路由器,服务器都启用ssh key登录,并关闭密码登录。但是ssh默认会使用**.ssh/id_rsa**登录,不然用 -i 指定ssh key ,显得有点有麻烦。如果使用ssh config来管理keys,使我们轻松很多。
# 生成key
cd .ssh
ssh-keygen -t rsa -C "linsirpi"
-C是对key的一个注释。然后输入名称linsirpi,避免覆盖.ssh/id_rsa请输入。 接着是Enter passphrase。这个相当于使用key的密码,如果不想设置可以直接回车。
完成后,生成linsir 和linsir.pub两个文件。
# 复制到服务器
直接使用ssh-copy-id:
ssh-copy-id -i ~/.ssh/linsir.pub root@192.168.0.192.168
输入密码就完成导入。
# ssh key add
这里我们需要把key导入.
ssh-add ~/.ssh/linsirpi
这里如果提示:Could not open a connection to your authentication agent
ssh-add bash
可使用 ssh-add -l 查看已经导入的key.
# ssh config 配置
编辑 vim .ssh/config
Host vpnserver
Hostname 1.1.1.1
User user
Port 22
IdentityFile ~/.ssh/id_rsa.vpn
Host linsirpi
Hostname 192.168.0.1
User root
Port 3333
IdentityFile ~/.ssh/linsirpi
# 使用
ssh vpnserver 或ssh linsirpi就可以登录了。如果提示输入passphrase就输入gen key时输入的密码。
写了个脚本,方便管理
https://github.com/vi5i0n/pyscripts/tree/master/sshkey_gen_upload