ssh使用代理登录 文本界面下登录ssh需要代理的解决办法

首先确保服务器已经安装了 openssh-server,并且已经启动了sshd。

在自己的机器上安装openssh-clients软件包(在Debian和Ubuntu中,这个软件包为openssh-client),然后就可以用这个软件包里的程序远程连接服务器了。

这些程序包括ssh(类似于telnet,用于安全地远程登录),scp(类似于rcp,用于安全地传输文件)和 sftp(类似于ftp,用于安全的ftp互动文件传输)。

例如:
ssh user1@cocooker.gro.clinux.org
scp myfile user1@cocooker.gro.clinux.org:/home/user1
sftp user1@cocooker.gro.clinux.org

使用SSH远程登录,除了通常的密码认证方式,还可以使用公钥私钥的认证方式。首先你得用ssh-keygen程序生成自己的一对公钥和私钥(通常使用的是RSA钥匙对):
ssh-keygen -t rsa

生成的钥匙对放在你的主目录的.ssh目录下,id_rsa文件是私钥,id_rsa.pub文件是公钥文件。把id_rsa.pub文件里面的内容复制到你在服务器的主目录的~/.ssh/authorized_keys文件里,就可以连接这个服务器了。登录过程需要输入私钥的密码,这个是你生成这对钥匙时输入的密码。
如果你以前使用putty生成了一对钥匙对,由于格式不同,openssh是不能直接使用这对钥匙对的。这时候你可以先安装putty,然后利用 putty自带的程序将putty格式的钥匙对转化为openssh格式的钥匙对(假设putty生成的私钥文件名为grokey.ppk):
puttygen grokey.ppk -O private-openssh -o id_rsa
puttygen grokey.ppk -O public-openssh -o id_rsa.pub

当然,也可以用图形界面的gftp来远程登录上传或下载文件,在连接的时候选择协议为”SSH2″就可以了。
在Fedora 4中,如果你需要通过HTTP代理连接SSH主机,你可以使用nc(netcat)程序来连接代理。只需要在 ~/.ssh/config 文件中增加类似这样的一行:
ProxyCommand nc -X connect -x 192.168.2.67:808 %h %p

如果你是使用SOCKS代理,则需要把上面的”connect”换成”4″或者”5″,这个”4″或者”5″对应你的SOCKS代理的版本。
在Debian 3.2和Ubuntu 6.06中你可以使用connect-proxy程序来连接HTTP代理。首先得安装这个connect-proxy软件包,然后在 ~/.ssh/config 文件中增加类似这样的一行:
ProxyCommand connect-proxy -H 192.168.2.67:808 %h %p

如果你是使用SOCKS代理,则需要把上面的”-H”换成”-S”。
Mandriva 2006与Debian 3.2的情形类似,只是它的软件包和程序名字都叫connect,作相应的修改即可。



发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

(Spamcheck Enabled)