Configuring OpenSSH Server and Client
- July 30th, 2010
- Write comment
最近在研究用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)文件中即可。
