SSH密钥远程登陆

来源:互联网 发布:淘宝店铺升级在哪里 编辑:程序博客网 时间:2024/05/29 17:09

基本过程是,客户端产生一对密钥,私钥在手,公钥需发送到服务器。

#本地先产生公钥密钥

ssh-keygen

#发送本地公钥至服务器

ssh-copy-id -i /home/jlee/.ssh/id_rsa.pub Gukar@192.168.0.28

#无密钥登陆服务器

ssh Gukar@192.168.0.28


SSH-AGENT的用法

1. 免输入密钥方式登陆的密码

设置ssh-keygen时,若选择输密码,ssh密钥登陆还是会提示输入私钥密码(非用户密码),ssh-agent能避免这种反复输入私钥的烦恼,

操作如下:

ssh-agent

ssh-add 私钥 (这里会提示一次输密码,之后将密码保存在缓存中,之后便不能再input了)


2. 多个服务器之间密钥穿梭

实现从本机->S1->S2的登陆,若按一般步骤,需要将本机私钥也在S1上放一份,但在任何服务器上放私钥都是不安全行为,但用ssh-agent

可解决这一问题:

#开启ssh-agent

eval ssh-agent

#添加私钥

ssh-add ~/.ssh/id_rsa

#修改本机和涉及到的服务器ssh配置,允许密钥在服务器间转发

vim /etc/ssh/ssh_config

#ForwardAgent后面参数修改为yes

ForwardAgent yes

#更改ssh配置需重启sshd

service sshd restart


3.解决非ssh-copy-id -i方式更新公钥,可能出现的密钥验证错误

原则上,两台电脑之间密钥ssh无需ssh-agent,但若非ssh-copy-id -i参数更新公钥,有可能需要ssh-agent,原因是服务器读公钥

有两种方式,一种是直接读authorized_keys文件里的内容,另一种是读ssh-agent缓存里的。解决方式如下:

ssh-agent -s
ssh-add




原创粉丝点击