简单讲就是先生成一套公钥--私钥,私钥自己拿着,公钥的内容添加到服务器上对应账号的.ssh/authorized_keys文件中。
【服务端配置】
先配置Server,打开公钥认证。用root用户执行:
vim /etc/ssh/ssh_config
将以下两行配置打开注释:
RSAAuthentication yes
IdentityFile ~/.ssh/id_rsa
然后重启ssh服务:/etc/init.d/sshd restart
【客户端生成密钥】
假设要实现user0无密码登录remotehost,则先用user0登录客户端,然后执行ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user0/.ssh/id_rsa):(缺省将公钥和私钥保存在当前登录用户的.ssh目录下,id_rsa是私钥,id_rsa.pub是公钥)
Created directory '/home/user0/.ssh'.
Enter passphrase (empty for no passphrase):(这里输入使用私钥时的密码,如果设置了密码则每次登录需要输入该密码,要实现无密码登录就不能设置此密码。但是如果不设置密码,私钥被非法拷贝以后就可以直接登录)
Enter same passphrase again:(重复输入一次密码)
Your identification has been saved in /home/user0/.ssh/id_rsa.
Your public key has been saved in /home/user0/.ssh/id_rsa.pub.
The key fingerprint is:
f1:e8:ae:a7:b3:f6:64:3f:30:34:1f:c5:07:ce:0f:bc myid@localhost
The key's randomart image is:
+--[ RSA 2048]----+
| .o.. |
| . . |
| . . |
| . . . |
| o = S |
| = + o |
| . . o... |
| .o o=. |
| .E*==. |
+-----------------+
注意:如果passphrase为空,生成的私钥必须绝对禁止未授权的访问!
然后把私钥拷贝到客户端的~/.ssh目录下(可以使用其他账号),可以重命名。
【把公钥传到服务器上】
将客户端/home/user0/.ssh/id_rsa.pub拷贝到服务器的/home/user0/.ssh目录,并重命名为authorized_keys文件,注意设为其他人不可读写。
chmod 400 /home/user0/.ssh/id_rsa.pub
scp /home/user0/.ssh/id_rsa.pub user0@remotehost:/home/user0/.ssh/authorized_keys
如果服务器上authorized_keys文件已经存在,则添加到末尾:
$cat .ssh/id_rsa.pub >> ~/.ssh/authorized_keys
【使用私钥登录】
用ssh -i 选项指定私钥文件就可以使用密码登录了,此时要输入使用私钥的密码(不是服务端的账号密码)。
$ssh -i .ssh/id_rsa_50_72 user0@10.13.50.72 (id_rsa_50_72是已经重命名的私钥文件,10.13.50.72是服务器IP)
Enter passphrase for key '.ssh/id_rsa_50_72': (输入使用私钥时的密码)
Last login: Wed Apr 9 16:13:23 2014 from 10.25.204.50(登录成功)
每次敲命令,都要指定私钥,是一个很繁琐的事情,所以我们可以把私钥的路径加入ssh客户端的默认配置里
修改/etc/ssh/ssh_config
#其实默认id_rsa就已经加入私钥的路径了,这里只是示例而已
IdentityFile ~/.ssh/id_rsa
#如果有其他的私钥,还要再加入其他私钥的路径
IdentityFile ~/.ssh/blue_rsa
相关推荐
是两台机器(web-1和web-2)经过预先设置好经过认证的key文件,双方互相访问时,进行自动认证,从而实现互信。 互信的原理了解了,我们可以把配置ssh互信的步骤进行有效的分割。 1.在要配置互信的机器(web-1...
SecureCRT 还可以通过公共密钥代理来支持转发,当使用同一个X.509证书连接到另一台机器时,可以自动进行再认证。对SSH代理功能性的激活器支持:如果激活器处 于运行状态,即使SecureCRT已关闭,也可以自动认证。多...
由国内著名技术社区联合推荐的2012年IT技术力作:《高性能Linux服务器构建实战:运维监控、性能调优与集群应用》,即将上架发行,此书从Web应用、数据备份与恢复、网络存储应用、运维监控与性能优化、集群高级应用等...
它主要用于Linux操作系统如redhat, ubuntu的客户端文件传输程序,您可以选择利用SFTP通过加密的SSH2实现安全传输,也可以利用FTP进行标准传输。该客户端具有Explorer风格的界面,易于使用,同时提供强大的自动化能力...
该角色在基于RedHat / Debian / ArchlinuxLinux系统上执行一些基本的安全配置,例如:安装并配置以监视错误的SSH登录。基本的SSH强化功能,例如禁用root登录。禁用密码认证。启用基于密钥的身份验证。更改默认端口。...
信息泄露威胁消减措施(2/2):算法安全 KVM Over IP 支持管理通道加密 安全基础要求 密码应用规范 密钥管理规范 加密算法规范 选择业界公认的安全加密算法 我们禁用 我们选择 DES/3DES(现有的暴力破解设备 能在一天...
3.6.6. 使用 svn+ssh 认证 3.6.7. svnserve 基于路径的授权 3.7. 基于 Apache 的服务器 3.7.1. 简介 3.7.2. 安装 Apache 3.7.3. 安装 Subversion 3.7.4. 配置 3.7.5. 多版本库 3.7.6. 路径为基础的授权 ...
用JAVA开发的一个小型的目录监视系统,系统会每5秒自动扫描一次需要监视的目录,可以用来监视目录中文件大小及文件增减数目的变化。 Java日期选择控件完整源代码 14个目标文件 内容索引:JAVA源码,系统相关,日历,...
用JAVA开发的一个小型的目录监视系统,系统会每5秒自动扫描一次需要监视的目录,可以用来监视目录中文件大小及文件增减数目的变化。 Java日期选择控件完整源代码 14个目标文件 内容索引:JAVA源码,系统相关,日历,...
JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...
JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...
JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...
JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...
JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...
JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...
JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...
JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...
JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...
JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...