Linux中SSH服务配置以及无密码登陆

一、配置SSH服务

①修改/etc/ssh/sshd_config配置文件。
  根据模板将需要修改的参数注释去掉并修改参数值:
  Port 22 指定ssh连接的端口号,安全方面不建议使用默认端口22.
  Protocol 2,1 允许SSH1和SSH2连接,建议设置成 Protocal 2
  其他参数根据自己的需要进行调整。配置方法详见: man ssh_config
②修改/etc/hosts.deny(用whereis查找到路径).
  在最后面添加一行:sshd:All。
③修改/etc/hosts.allow。
  在最后面添加一行:sshd:All。
  如果为了安全可以限制访问的IP,设置如下:
  sshd:192.168.1.1
  sshd:192.168.1.2
  上述配置表示只允许1和2的服务器进行SSH连接。
④启动ssh:service sshd start

⑤配置防火墙:setup或者编辑/etc/sysconfig/iptables,具体看后面的博文。

二、ssh-keygen配置无密码登陆

    ssh有一套很有用的工具,其中的ssh-keygen可以用来生成private和public密钥.将生成的public密钥拷贝到远程机器后,可以使ssh到另外一台机器的登陆不用密码.具体方法如下。

1) 在本地机器中的~/.ssh/目录下执行下命令:

#ssh-keygen -t  [rsa|dsa]

将生成两个文件:id_dsa和id_dsa.pub【这些文件在:~/.ssh/下面】,其中第一个为密钥,第二个为公钥;【-t】是指定秘钥加密类型。

2) 将id_dsa.pub拷贝到远程机器,并且将id_dsa.pub的内容添加到~/.ssh/authorized_keys中。指令如下:

#scp id_rsa.pub [email protected].*.*:~/.ssh/

3)进入对应的服务器,并进入对应的目录下,然后倒入公共密钥:

#cd ~/.ssh/

#cat  id_dsa.pub >>authorized_keys

注意:目录.ssh和文件authorized_keys的权限必须是600。

完成这些工作后,用户从本地机器到远程机器的登录就不用密码了。

该设置简单实用。

相关推荐