小淼博客

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

一、基本命令操作

1.登录远程主机

ssh username@IP_Address

其中username为远程主机用户名,IP_Address为远程主机登陆密码,端口为默认的22端口,如需修改端口为其他需要参数来指定:

ssh -p 8888 user@192.168.1.102

二、SSH免密登录

1.使用ssh公钥私钥方式进行ssh链接:

Step1:使用ssh-keygen命令生成对应的rsa密钥对(命令执行后连续回车即可)

ssh-keygen -t rsa

 如下图所示为在~/.ssh/文件夹下生成的rsa密钥对:

 Step2:将ssh-keygen命令生成的公钥拷贝到待免密登录的目标机上

cd ~/.ssh/
ssh-copy-id -i id_rsa.pub ubuntu@192.x.x.x

这里由于我已经完成了拷贝,因此提示无需再次拷贝,拷贝过程中需要输入对方主机的登陆密码以完成公钥的拷贝过程,拷贝完成后,可以在目标主机的~/.ssh/文件夹下面查看到对应的授权文件如下所示:

 Step3:使用ssh命令连接目标主机

 

2.使用sshpass免密登录

https://blog.csdn.net/weixin_42480153/article/details/104788790

三、SSH通过代理服务器跳转连接远程服务器

1. Linux下具体代理连接命令如下:

ssh -p port -o ProxyCommand="nc -x connect/4/5 -x proxy.net:port %h %p" user@server.net

上述命令参数解释如下:

  •  -p port : 为ssh连接的远程设备端口
  • -o ProxyCommand="nc -x connect/4/5 -x proxy.net:port %h %p" : 为启用代理服务的命令调用
    • nc :为Linux代理连接工具
    • -x connect/4/5 :指定代理连接协议类型  connect->HTTPS proxy  /  4->SOCKS v.4  /  5->SOCKS v.5 (默认)
    • -x proxy.net:port :设置代理服务器IP地址及端口号,如未设置则  SOCKETS 默认使用 1080 & HTTPS 默认使用 3128
  • user@server.net :配置SSH目标服务器连接 HostName/IP_Address

也可以使用 SSH 配置文件

1. 使用vim打开ssh配置文件

sudo vim ~/.ssh/config

2. 增加如下两行内容:以 nc 为例,如使用 Ncat 可以自行替换

Host *
    ProxyCommand nc -X 5 -x proxy.net:1080 %h %p

使用配置文件之后,就不需要在命令行中进行代理配置了

2. Windows下使用代理程序跳转至目标机:

ssh -p 12345 -o ProxyCommand="R:\Program Files (x86)\Nmap\ncat.exe --proxy-type http --proxy 188.188.3.212:808 %h %p" nvidia@123a456b78.zicp.vip

这里使用了ncat.exe作为Windows下的跳转工具。关于ncat.exe以及Linux下nc工具的使用,参考这里。关于VSCode的相关配置在其他类别博客下的工具箱中!

 Reference:

1.设置密钥对之后登录仍然需要登陆密码问题:https://blog.csdn.net/b_x_p/article/details/78534423

2.主从机密钥对免密登录设置:https://www.cnblogs.com/mhl1003/p/9442898.html

3.使用sshpass命令来进行明文免密登录:https://blog.csdn.net/weixin_42480153/article/details/104788790

4.使用代理服务器跳转连接远程Server:https://www.jianshu.com/p/f6990f3a52eb

posted on 2021-07-14 14:59  小淼博客  阅读(17344)  评论(0编辑  收藏  举报

大家转载请注明出处!谢谢! 在这里要感谢GISPALAB实验室的各位老师和学长学姐的帮助!谢谢~