序:最近手上服务器比较多,尤为是linux,因此服务器之间登陆时常常的问题,可是每次都须要输入密码,比较麻烦,尤为是服务器之间传输文件时,因此准备把服务器的访问方式改成key的方式,且不须要密码。linux
环境:
vim
测试结果:服务器A-------SSH------>服务器B,无需密码服务器
实现过程:ssh
1、服务器A配置ide
步骤一,生成publickey:测试
ssh-keygen -b 1024 -t rsa 加密
#这里的-b 1024 是密钥加密的长度,最好设大点,有消息称美国有***解决 ssh的密钥进行破解。
直接回车spa
设置密码,若是但愿ssh之间不须要输入密码,则密码设置为空便可!rest
重复设置密码get
key文件会保存在/root/.ssh目录下( 默认位置,能够自行设置位置),这时候.ssh目下会多出几个文件
id_rsa 私钥,id_rsa.pub 公钥文件
步骤二,修改sshd_config配置文件
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys
PasswordAuthentication yes
步骤3、重启ssd服务
service ssh restart
2、服务器B(Liunx): 192.168.1.2
步骤一、将须要ssh到本机的publickey放入指定文件夹,配置文件默认为:%h/.ssh/authorized_keys
步骤2、添加publickey
vim /root/.ssh/authorized_keys,把A服务器上查看的KEY文件内容,复制到B服务器的authorized_keys中。或者在A上使用命令:ssh-copy-id root@192.168.1.2
步骤3、修改配置文件
修改sshd 的主配置文件,关闭密码认证登录,使用key登录,固然,也能够同时使用密码和key两种方式,主要要看我的爱好了。不过,最好是把密码的方式打开,由于通常是远程管理服务器,若是ssh出了问题,就很差办了。
vim /etc/ssh/sshd_config
找到 PasswordAuthentication yes
改为 PasswordAuthentication no
步骤4、重启服务
service sshd restart
3、 测试:
在A服务器上执行:ssh 192.168.1.2 无需密码,就能够ssh上去。若是须要A<---->B机器来回ssh,不须要密码,只须要在A服务器上导入B服务器的publickey就能够了。以此类推,能够以A服务器为管理服务器,登陆到其余服务器上,作到一台服务器畅通无阻的登录。
3、Windows登陆linux服务器,一样道理:
1.用色secureCRT生成puplic.key,拷贝内容到authorized_keys中
private.key本身保存
2.链接linux服务器
secureCRT 全局选项,认证选折对应的puplickey,
设置密码
重复设置密码
C:\Documents and Settings\test\Application Data\VanDyke\Identity.pub 系统默认生成位置
链接后输入用户名和密码便可,方式更简单。