2019年01月05日
emacs tramp、putty和openssl无密码登录
emacs可以使用 tramp 编辑一个远程server上的文件,在windows上通过 plink (putty自带)来访问,但是每次都要提示输入密码有点麻烦。是不是有办法不提示输入密码,putty不像secure crt和mobaXterm可以保存键盘输入的密码,只能通过秘钥的方式。plink不输入密码可以在putty中save一个session,在session中把private key加进去。所以要生成一对rsa公私钥。
- windows的emacs通过tramp编辑虚机中的文件速度非常慢,不如直接在虚机上编辑。放弃了。
emacs tramp
- C-x C-f /plink:albert@master.k8s
- 提示输入密码后就可以打开文件操作。
- C-x C-f /plinkx:master.k8s
- 使用putty中保存的session登录。
问题
在ggtags-mode中,默认eldoc打开提示时,显示tag时会非常慢,每次都要新开一个ssh登录后执行命令,慢得不能忍受。
看来要继续用terminal了。在linux终端中的emacs好像对键盘的响应有点慢,我的神器大F茶轴键盘有时候按esc键有延迟,唉。只能忍着了。
openssl和putty
有2个生成秘钥的方法,ssh-keygen和openssl。
ssh-keygen
ssh-keygen生成密码非常方便,但是ssh-keygen生成的公私秘钥不能直接导入putty,putty不支持pem格式的秘钥。其实puttygen.exe是可以转换的。
ssh-keygen -t rsa -f albert_rsa
openssl生成秘钥,转换为openssh格式,私钥用puttygen转为putty的ppk格式
用openssl生成秘钥
OpenSSL> genrsa -out albert_rsa_private_key.pem 1024 #生成私钥 OpenSSL> rsa -in albert_rsa_private_key.pem -pubout -out albert_rsa_public_key.pem #生成公钥 OpenSSL> exit #退出OpenSSL程序
ssh-keygen可以把pem格式的公钥转换为openssh格式的。
ssh-keygen -y -f albert_rsa_private_key.pem > albert_ssh_public_key.pub # 把公钥加到authorized_keys cat albert_ssh_public_key.pub >> ~/.ssh/authorized_keys
私钥用puttygen转为putty的ppk格式
私钥albert_rsa_private_key.pem用puttygen转为putty的ppk格式,并保存,就可以在putty测试load session登录是否正常了。