[-]
- 修改客户端sshd配置文件
- 在客户端生成公钥和私钥文件
- 接下来我们就可以使用rsync使用SSH服务无密码登陆来同步服务器端的文件
转自:http://www.linux-centos.com/2012/01/23/centos下ssh无密码访问(非22端口)以及rsync初步尝试/
[size=1em]首先确认centos下客户端和服务器端都已经安装了SSH服务
[size=1em]Contents [hide]
- 1 修改客户端sshd配置文件
- 2 在客户端生成公钥和私钥文件
- 3 接下来我们就可以使用rsync,使用SSH服务无密码登陆来同步服务器端的文件
修改客户端sshd配置文件
[size=1em]
1vim[color=#006FE0!important][color=#006FE0!important]/etc[color=#006FE0!important]/ssh[color=#006FE0!important]/sshd_config[size=1em]去掉以下三行之前的#
123[color=teal!important]RSAAuthentication[color=teal!important]yes[color=teal!important]PubkeyAuthentication[color=teal!important]yes[color=#002D7A!important]AuthorizedKeysFile[color=#006FE0!important] [color=teal!important].ssh[color=#006FE0!important]/authorized_keys[size=1em]重启ssh服务
1[color=teal!important]service[color=teal!important]sshdrestart[size=1em]
在客户端生成公钥和私钥文件
[size=1em]
12ssh[color=#006FE0!important]-keygen[color=#006FE0!important][color=#006FE0!important]-t[color=#006FE0!important]dsa[color=#006FE0!important][color=#006FE0!important]-P[color=#006FE0!important][color=#DD1144!important]''[color=#006FE0!important][color=#006FE0!important]-f[color=#006FE0!important][color=#006FE0!important]~[color=#006FE0!important]/[color=#333333!important].ssh[color=#006FE0!important]/[color=teal!important]id_dsacat[color=#006FE0!important][color=#006FE0!important]~[color=#006FE0!important]/[color=#333333!important].ssh[color=#006FE0!important]/[color=#002D7A!important]id_dsa[color=#333333!important].pub[color=#006FE0!important][color=#006FE0!important]>>[color=#006FE0!important][color=#006FE0!important]~[color=#006FE0!important]/[color=#333333!important].ssh[color=#006FE0!important]/authorized_keys[color=#006FE0!important] [color=#B85C00!important]#上传公钥到本地的服务器[size=1em]我们来测试以下连接本地是否可以无密码访问了
1[color=teal!important]sshlocalhost[size=1em]测试成功!
(
如果失败尝试修改相关目录权限再试
12chmod[color=#006FE0!important][color=#009999!important]700[color=#006FE0!important][color=#006FE0!important]~[color=#006FE0!important]/[color=teal!important].sshchmod[color=#006FE0!important][color=#009999!important]600[color=#006FE0!important][color=#006FE0!important]~[color=#006FE0!important]/[color=teal!important].ssh[color=#006FE0!important]/authorized_keys[size=1em])
[size=1em]将公钥文件拷贝到远程服务器
方法一:
1cat[color=#006FE0!important][color=#006FE0!important]~[color=#006FE0!important]/[color=#333333!important].ssh[color=#006FE0!important]/[color=#002D7A!important]id_dsa[color=#333333!important].pub[color=#006FE0!important][color=#006FE0!important]|[color=#006FE0!important]ssh[color=#006FE0!important]远程用户名[color=#333333!important]@远程服务器ip[color=#006FE0!important][color=#006FE0!important]-p[color=#006FE0!important]端口号[color=#006FE0!important][color=#DD1144!important]'cat- >> ~/.ssh/authorized_keys'[size=1em]方法二:
在本机上执行:
1scp[color=#006FE0!important][color=#006FE0!important]-P[color=#006FE0!important]端口号[color=#006FE0!important][color=#006FE0!important]~[color=#006FE0!important]/[color=#333333!important].ssh[color=#006FE0!important]/[color=#002D7A!important]id_dsa[color=#333333!important].pub[color=#006FE0!important]远程用户名[color=#333333!important]@ip[color=#006FE0!important]:[color=#006FE0!important]/home[color=#006FE0!important]/远程用户名[color=#006FE0!important]/[size=1em]登陆远程服务器 远程用户名@ip 后执行:
1cat[color=#006FE0!important][color=#002D7A!important]id_dsa[color=teal!important].pub[color=#006FE0!important][color=#006FE0!important]>[color=#333333!important];[color=#006FE0!important]>[color=#333333!important];[color=#006FE0!important][color=#006FE0!important]~[color=#006FE0!important]/[color=teal!important].ssh[color=#006FE0!important]/authorized_keys[size=1em]如果登陆测试不成功,需要修改远程服务器IP上的文件authorized_keys的权限(权限的设置非常重要,因为不安全的设置安全设置,会让你不能使用RSA功能 )
[size=1em]注意:由于出于安全的考虑,我们经常在服务器上线之前会修改SSH的默认端口(默认端口为22),所以这里的-p选项为修改后的ssh服务端口号,如果使用22端口则无需添加此选项
12chmod[color=#006FE0!important][color=#009999!important]700[color=#006FE0!important][color=#006FE0!important]~[color=#006FE0!important]/[color=teal!important].sshchmod[color=#006FE0!important][color=#009999!important]600[color=#006FE0!important][color=#006FE0!important]~[color=#006FE0!important]/[color=teal!important].ssh[color=#006FE0!important]/authorized_keys[size=1em]如果出现以下错误
1[color=teal!important]Permission[color=teal!important]denied[color=#006FE0!important][color=#333333!important](publickey[color=#333333!important],gssapi[color=#006FE0!important]-with[color=#006FE0!important]-mic[color=#333333!important])[color=#333333!important].[size=1em]那就要修改服务器端的配置文件
1234567vim[color=#006FE0!important][color=#006FE0!important]/etc[color=#006FE0!important]/ssh[color=#006FE0!important]/sshd_config [color=#B85C00!important]# 确保PasswordAuthentication为yes[color=teal!important]PasswordAuthenticationyes [color=#B85C00!important]# 重启SSH服务[color=teal!important]service[color=teal!important]sshdrestart[size=1em]如果出现以下错误
1[color=#006FE0!important]~[color=#006FE0!important]/[color=#333333!important].ssh[color=#006FE0!important]/authorized_keys[color=#006FE0!important]:[color=#006FE0!important][color=teal!important]No[color=teal!important]such[color=teal!important]fileor[color=#006FE0!important]directory[size=1em]在服务器端做出如下修改
12mkdir[color=#006FE0!important][color=#006FE0!important]~[color=#006FE0!important]/[color=#333333!important].[color=teal!important]sshchmod[color=#006FE0!important][color=#009999!important]700[color=#006FE0!important][color=#006FE0!important]~[color=#006FE0!important]/[color=#333333!important].ssh[size=1em]最后在客户端上尝试
1[color=teal!important]sshusername[color=#333333!important]@[color=#009999!important]117.xxx.xxx.xxx[color=#006FE0!important][color=#006FE0!important]-p[color=#006FE0!important]端口号[size=1em]显示
1[color=teal!important]Lastlogin[color=#006FE0!important]:[color=#006FE0!important][color=teal!important]SunJan[color=#006FE0!important][color=#009999!important]22[color=#006FE0!important][color=#009999!important]23[color=#006FE0!important]:[color=#009999!important]28[color=#006FE0!important]:[color=#009999!important]31[color=#006FE0!important][color=#009999!important]2012[color=#006FE0!important]from[color=#006FE0!important][color=#009999!important]222.xxx.xxx.xxx[size=1em]那就大功告成啦
接下来我们就可以使用rsync,使用SSH服务无密码登陆来同步服务器端的文件
[size=1em]
1rsync[color=#006FE0!important][color=#006FE0!important]-av[color=#006FE0!important][color=#006FE0!important]-e[color=#006FE0!important][color=#DD1144!important]"ssh-p 端口号"[color=#006FE0!important]username[color=#333333!important]@[color=#009999!important]117.xxx.xxx.xxx[color=#006FE0!important]:源服务器绝对路径[color=#006FE0!important]目标服务器绝对路径[size=1em]rsync参数详解
[size=1em]rsync:failed to set times on “directory” Operation not permitted的问题
Leavea Comment |