Press "Enter" to skip to content

Month: July 2015

配置Linux无需密码使用SSH登陆远程服务器

配置Linux免密码使用SSH登陆远程服务器的过程,记录一下。

两边的服务器,只需要用户名一样即可,不需要密码一样,也不需要uid/gid一样,不需要两个用户处在相同的用户组里。

本地服务器上生成公钥文件

$ ssh-keygen -t rsa    #连续三次回车,即在本地生成了公钥和私钥,不设置密码

将生成的.ssh/id_rsa.pub文件拷贝到远程服务器上。

远程服务器上导入公钥文件
将本地生成的id_rsa.pub拷贝到你想无密码登录的远程服务器的~/.ssh目录下,然后在远程服务器上作如下设置。

$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 700 ~/.ssh                    #必需设置,否则自动登录将不会生效
$ chmod 600 ~/.ssh/authorized_keys     #必需设置,否则自动登录将不会生效

然后,再次从本地服务器登陆远程服务器时,你就会发现服务器不会再向你询问密码了。

将id_rsa.pub公钥文件到服务器上并导入的过程可以用ssh-copy-id命令来完成,下面是命令使用列表

$ ssh-copy-id -i ~/.ssh/id_rsa.pub user@server
$ ssh-copy-id -p 22 -i ~/.ssh/id_rsa.pub user@server

===============================================

补充:

配置Linux无须密码使用SSH登陆Windows服务器的过程,也记录一下,很显然,Windows方面需要安装WinSSHD工具,这里我们安装的是Bitvise SSH Server。

两个系统里,只要用户名一样即可,无需UID/GID一致,也不需要group name一样。

1,在Linux系统下生成SSH Key,同样需要将生成的.ssh/id_rsa.pub文件拷贝到Windows系统里。

2,在WinSSHD工具里导入公钥,参考下方图片
配置Linux无须密码使用SSH登陆远程服务器

配置Linux无须密码使用SSH登陆远程服务器

1 Comment

Samba访问控制(高级权限设置)

Samba的访问控制通过hosts allow、hosts deny两个参数实现。

在Samba中使用hosts allow、hosts deny参数时,该参数可以出现在全局配置部分,用于允许或拒绝可连接到Samba服务器的客户端,也可以出现在具体的共享目录配置中用于允许或拒绝可访问该目录的客户端。如果在全局配置部分的hosts allow、hosts deny优先级与具体共享目录的配置发生冲突时会怎么样呢?通过Samba的工作过程不难看出Samba客户端首先要可以连接到Samba服务器,才能访问其共享目录,所有全局配置部分的hosts allow、hosts deny优先级与具体共享目录的配置发生冲突时使用以下规则:

1,全局配置中hosts deny指定客户端,此时无法访问Samba服务器任何共享目录;
2,全局配置中hosts allow指定客户端,分以下几种情况
(1):如具体共享目录中只指定了hosts deny且与全局配置不冲突时,客户端可以访问具体共享目录。
(2):如具体共享目录中只指定了hosts allow且是全局配置的子集时,只有具体共享目录中指定的客户端可以访问。
(3):如具体共享目录中既指定了hosts allow又指定了hosts deny时,会优先考虑hosts allow,其实再考虑hosts deny,因为在Samba中hosts allow比hosts deny优先级要高

以下是一些范例。

1,使用IP地址控制

#不允许IP地址为192.168.0.20的客户端访问Samba服务器上的smbtest目录
[smbtest]
   path = /test
   hosts deny = 192.168.0.20

#只允许IP地址为192.168.0.25的客户端访问Samba服务器上的smbtest目录
[smbtest]
   path = /test
   hosts allow = 192.168.0.25

#下例中,IP地址为192.168.0.99的客户端是可以访问Samba服务器上的smbtest目录的
#因为在Samba中hosts allow比hosts deny优先级要高
[smbtest]
   path = /test
   hosts allow = 192.168.0.99
   hosts deny = 192.168.0.99
Leave a Comment