Linux实现SSH免密码登陆

来源:互联网 发布:java数字金字塔代码 编辑:程序博客网 时间:2024/06/04 17:45

SSH服务端是一个守护进程,进程名为sshd,负责实时监听远程SSH客户端的连接请求,SSH客户端包含ssh以及像scp,slogin,sftp

第一步:
在分发主机和远程主机上建立统一的普通账户test,方便统一验证。
[root@A ~]# useradd test
[root@A ~]# passwd test
[root@A ~]#su - test
注意:以下操作都要用test账户操作

第二步:
在分发主机上创建密钥对,并将公钥上传到远程主机
ssh-keygen -t dsa
按三次回车键
说明: -t type 指定密钥加密类型,有rsa和dsa两种,默认是rsa
ssh-copy-id -i ~/.ssh/id_dsa.pub test@192.168.200.129

ssh-copy-id 命令会将公钥自动放到/home/test/.ssh/
下,并修改权限600,改名为authorized_keys

这一步建议利用ssh-copy-id命令上传公钥,而不用scp等软件,因为它会自动修改权限和名字

SSH安全优化
Port 22569 修改默认端口
PermitRootLogin no 禁止root登陆
PermitEmptyPasswords no 禁止空密码登陆
UseDNS no 禁止DNS解析
GSSAPIAuthentication no 解决ssh连接慢

ssh连接优化:
导致ssh连接慢的主要原因是DNS解析导致
解决办法;
在ssh服务器端更改/etc/ssh/sshd_config文件的内容
UseDNS no
GSSAPIAuthentication no
/etc/init.d/sshd reload 重新加载生效

如果还慢的话,检查ssh服务器上/etc/hosts文件,127.0.0.1对应的主机名是否和uname -n 的结果一直,不一致更改本地DNS解析文件/etc/hosts

原创粉丝点击