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

发布时间:2020-09-06编辑:脚本学堂
文本界面下登录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,作相应的修改即可。

您可能感兴趣的文章:
ssh(ssh-keygen)配置免输入密码登录远程主机的方法
putty实现自动登录的方法(ssh和ssh2)
ssh配置只允许某个IP以某个账号登录服务器的方法介绍
ssh登录很慢但登录成功后速度正常的问题分析
ssh禁止root登录
实现ssh自动登录的四种方法