Archive for July, 2010

Configuring OpenSSH Server and Client

最近在研究用Vlad部署php项目。期间需要设置ssh自动登录。

######Server Side######

###安装openssh-server
#apt-get install openssh-server

###修改sshd的配置
#vim /etc/ssh/sshd_config
###为了提高客户端登录的速度,注释掉如下两行
#GSSAPIAuthentication yes
#GSSAPIDelegateCredentials no
###设置可以使用证书登录,修改/加入如下几行
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile %h/.ssh/authorized_keys
###重新启动
#/etc/init.d/ssh restart

###切换到可以通过SSH登录的用户
#su gucheng
###使用ssh-keygen这个工具生成公钥和私钥
$ssh-keygen
Enter passphrase (empty for no passphrase):   #如果输入了密码,需要客户端用代理程序ssh-agent来避免每次输入密码
Enter same passphrase again:
###切换到用户的.ssh目录下
$cd ~/.ssh
###重命名id_rsa.pub这个公钥存放文件为sshd_config中设置的AuthorizedKeysFile的名称,即:authorized_keys
$mv id_rsa.pub authorized_keys
###将私钥~/.ssh/id_rsa拷贝出来
###save file “~/.ssh/id_rsa ” and delete it.
$rm id_rsa

######Client Side######

###将从服务器上保存的id_rsa文件复制到本地(可以重命名)
###路径为: /home/gucheng/.ssh/id_rsa

###使用ssh-add 将私钥文件”id_rsa”添加到ssh-agent
$ ssh-add id_rsa
Could not open a connection to your authentication agent. #如果出现这句,说明ssh-agent没有正常运行
###启动ssh-agent。(使用 eval是为了执行 ssh-agent 输出的设置环境变量的 bash 命令,以确保 ssh-add 可以通过 SSH_AUTH_SOCK 环境变量找到 ssh-agent。from:rainux)
$ eval `ssh-agent`
Agent pid 3513
###重新添加
$ ssh-add id_rsa
Enter passphrase for id_rsa: #输入刚才输入的 passphrase
Identity added: id_rsa (id_rsa) #添加成功

###登录Server
$ssh gucheng@gucheng.me

也可以在Client Side使用ssh-keygen生成公钥和私钥,然后将生成的公钥文件中的内容添加到Server Side的 AuthorizedKeysFile(authorized_keys)文件中即可。

计算机编程发展史(图)

计算机编程的世界

计算机编程的世界

Configuring Nginx HTTP Basic Authentication

Step1:
使用Apache的密码生成工具生成密码(输出到屏幕,具体参数用htpasswd -h查看)
#htpasswd -nb username password
username:TPLoa.pL/PZtQ

Step2:
生成或编辑密码配置文件
#vim /var/www/htpasswd.conf
将Step1生成的那行(即”username:TPLoa.pL/PZtQ”)拷贝进来,save.
修改密码配置文件所有者
#chown www:www /var/www/htpasswd.conf

Step3:
编辑nginx配置文件(如果虚拟主机配置文件独立出来了,那就编辑要认证的虚拟主机的配置文件)
#vim /usr/local/nginx/conf/nginx.conf
在Server段的location节中加入如下两行
######
auth_basic “Restricted”;
auth_basic_user_file /var/www/htpasswd.conf;
######

Step4:
测试nginx配置文件是否有语法错误
#/usr/local/nginx/sbin/nginx -t
平滑重启nginx(适用于nginx 0.8.x版本)
#/usr/local/nginx/sbin/nginx -s reload

Return top