Linux SSH远程登录快速配置
2015-11-23 03:27
459 查看
SSH远程登录
最近使用到了云服务器,经常需要登陆远程服务器进行大量操作。远程登录服务器一般使用ssh协议。常用的登陆方式有两种:1.账号+密码手动验证
$ssh user@192.168.1.1 $password:
2.公钥+私钥对自动验证(免密登录)
$ssh user@192.168.1.1
免密登录配置
两种登陆方式对比下来第二种方式更为方便且有些程序例如hadoop要求我们配置免密登录。原理
利用公钥密码算法的安全特性,即:使用A的私钥加密的内容能由A的多个公钥解开而使用A的公钥加密的内容只能由A的私钥解开。通信双方分别使用公钥、私钥进行数据加密解密与身份认证。私钥唯一,由拥有者秘密保存,非公开。公钥公开,每个人都能获取。在ssh登录的应用中,由ssh客户端生成私钥/公钥对,并将公钥发送到ssh服务端用来实现身份证。
配置
1.生成密钥对并使用私钥#生成rsa公钥/私钥对,保存到用户根目录下.ssh文件夹下的id_rsa,passphrase为空。 $ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa #使私钥生效 $ ssh-add id_rsa
命令会自动生成名为
id_rsa的私钥文件和
id_rsa.pub的公钥文件并储存在
~/.ssh目录下(ssh密钥文件的默认存储目录,当不存在时可手动创建,注意权限问题)。生成成功后令系统使用该私钥。
2.将公钥上传到服务器并添加到信任列表
#将客户端生成的公钥文件上传到远程服务器的用户根目录下 $scp ~/.ssh/id_rsa.pub username@192.168.1.1:~/ #使用账号密码验证方式登录服务器后,将公钥文件添加到信任域 $cat ~/.id_rsa.pub >> ~/.ssh/authorized_keys
操作完成后,密钥对的配置就完成了,但是在测试之前要检查下服务端的ssh配置是否正确。
#查看ssh服务的配置文件 $vim /etc/ssh/sshd_config #确保以下3项配置未被注释并配置正确 RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile %h/.ssh/authorized_keys
最后重启服务端的ssh服务
$sudo service ssh restart
现在,我们在客户端使用ssh指令登录时将自动完成验证。
相关文章推荐
- Linux socket 初步
- linux lsof详解
- linux 文件权限
- Linux 执行数学运算
- 10 篇对初学者和专家都有用的 Linux 命令教程
- Linux 与 Windows 对UNICODE 的处理方式
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!
- Linux Generating SSH Keys
- 解決Linux下Android开发真机调试设备不被识别问题
- 运维入门
- 运维提升
- Linux 自检和 SystemTap
- Ubuntu Linux使用体验
- c语言实现hashmap(转载)
- Linux 信号signal处理机制
- linux下mysql添加用户
- Scientific Linux 5.5 图形安装教程
- 基于 Linux 集群环境上 GPFS 的问题诊断