SSH公钥(publickey)验证
安全的设置服务器登陆,之前⽤⽤户名和密码登陆服务器这样不安全,⽤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就不要⼿⼯输⼊密码了。
详细设置参数可参考
scp是linux下的远程拷贝
命令:
(1)将本地⽂件拷贝到远程:scp  ⽂件名⽤户名@计算机IP或者计算机名称:远程路径
(2)从远程将⽂件拷回本地:scp  ⽤户名@计算机IP或者计算机名称:⽂件名本地路径
(3)将本地⽬录拷贝到远程:scp -r⽬录名⽤户名@计算机IP或者计算机名称:远程路径
(4)从远程将⽬录拷回本地:scp-r  ⽤户名@计算机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命令指定端口ssh-keygen -t dsa
ssh-keygen -t rsa
ssh-keygen -t rsa ssh-keygen -t rsa1

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。