SSH公钥(public key)验证
安全的设置服务器 登陆,之前用用户名和密码登陆服务器 这样不安全 ,用SSH公钥(public key)验证 这个办法能很好的解决 登陆服务器 和安全登陆服务器 的特点:
目标: Client 免输密码ssh登录Server SSH支持多种登录验证方式,我们默认使用的是键盘交互方式(keyboard-interactive),也就是手工输入密码的那种。这里我们要改成公钥(publickey)验证方式,并且设置passphrase为空,以达到免输密码登录的目的。 1. Client端: cd ~/.ssh #产生公钥文件(id_dsa.pub)和私钥文件(id_dsa), 类型DSA, 长度1024 bits #注意询问passphrase的时候直接回车 ssh-keygen -t dsa -b 1024 #将公钥复制到远程主机去 scp id_dsa.pub Server:~/.ssh/id_dsa.pub.Client //例如:scp id_dsa.pub 用户名@ip地址:目标路径 scp -P 端口号 id_dsa.pub 用户名@ip地址:目标路径 2. Server端: cd ~/.ssh #将Client的公钥放入Server的信任列表 cat id_dsa.pub.Client >> authorized_keys #更新权限,很重要 chmod 0600 *从此以后Client SSH登录Server就不要手工输入密码了。 详细设置参数 可参考 http://manpages.ubuntu.com/manpages/gutsy/zh_CN/man1/scp.1.html scp是linux下的远程拷贝 命令: (1)将本地文件拷贝到远程:scp 文件名 用户名@计算机IP或者计算机名称:远程路径
使用scp命令需要服务端linux提供ssh服务(linux默认是没有安装ssh服务的) 1.是否安装ssh:可连接相应的ssh服务查看,sshhost;如出现:ssh: connect to host *** port22:Connection refused,说明尚未安装ssh服务。 2.安装ssh服务:sudo apt-get install openssh-server自动安装ssh服务。 3.启动:sudo /etc/init.d/sshstart 4.停止:sudo /etc/init.d/sshstop 5.配置:ssh默认的端口是22,可以修改配置文件更改端口,然后重启ssh服务即可。(注:配置文件/etc/ssh/sshd_config) 说明: 该命令将在用户的主目录/.ssh目录下面产生一对密钥 一般采用的ssh的rsa密钥: id_rsa 私钥 id_rsa.pub 公钥 下述命令产生不同类型的密钥 ssh-keygen -t dsa ssh-keygen -t rsa ssh-keygen -t rsa1
|