Linux命令之 ssh命令

warning: 这篇文章距离上次修改已过1421天,其中的内容可能已经有所变动。

SSH是一种网络协议,用于计算机之间的加密登录。

info:注意:SSH只是一种协议(敲黑板~),存在多种实现,既有商业实现,也有开源实现。这里讨论仅针对OpenSSH,它是自由软件,应用非常广泛。
info:配合Linux SSH密钥登录,远程服务器操作就像在本机上一样

命令语法

ssh [参数] [user@]hostname [command]

附加参数

此处仅列举常用参数,详细可参阅ssh官方文档
参数说明
-4强制ssh仅使用IPv4地址。
-6强制ssh仅使用IPv6地址。
-A启用转发身份验证代理连接。这也可以在配置文件中基于每个主机指定。
-a禁用转发身份验证代理连接。
-l指定要在远程计算机上登录的用户。这也可以在配置文件中基于每个主机指定。
-p要连接到远程主机的端口。这可以在配置文件中基于每个主机指定。
-Q查询ssh指定版本支持的算法 可供选择的选项 cipher (支持的对称密码), cipher-auth (支持经过身份验证的加密支持的对称密码), help (支持与-Q标志一起使用的查询术语), mac (支持的消息完整性代码), kex (密钥交换算法), key (密钥类型), key-cert (证书密钥类型), key-plain (非证书密钥类型), protocol-version (支持的SSH协议版本), and sig (支持的签名算法).
-q安静模式,屏蔽大多数警告和诊断消息
-E将调试日志附加到log_file而不是标准错误。
-V显示版本号并退出。
-x禁用X11转发。
-Y启用可信的X11转发。受信任的X11转发不受X11 SECURITY扩展控制的约束。
Error:应谨慎启用代理转发。 能够绕过远程主机上的文件权限(对于代理的UNIX -domain套接字)的用户可以通过转发的连接访问本地代理。攻击者无法从代理获取密钥材料,但是他们可以对密钥执行操作,使其能够使用加载到代理中的身份进行身份验证。

常用范例:

info:pi.idzd.top】是指向我树莓派ip的域名。

指定用户登录

ssh pi@pi.idzd.top
#或
ssh -l pi pi.idzd.top

使用pi用户登录树莓派使用pi用户登录树莓派


不指定用户,默认使用当前账户登录

ssh pi.idzd.top

因为树莓派上没有ding账户所以登录失败因为树莓派上没有ding账户所以登录失败


指定其他端口登录(PS:极路由就蛋疼的把端口改成1022了)

ssh -p 1022 root@192.168.199.1

执行远程命令(适合那种就看个返回结果的命令,尽量用绝对路径)

ssh pi@pi.idzd.top ls -l

列出pi用户目录下文件列出pi用户目录下文件


执行某个脚本

ssh root@pi.idzd.top -t "sh /home/back.sh"

首次登陆免输yes登录

ssh root@pi.idzd.top -o stricthostkeychecking=no

查看转移字符(链接到远程主机后)

~?

查看转移字符帮助查看转移字符帮助


X11 图形界面()

ssh -X pi@pi.idzd.top
如果你想在运行图形界面程序的同时做些别的事情, 只需要在命令末尾加一个 & 符号就可以了

挂载远程文件系统(传文件)

sshfs -o idmap=user pi@pi.idzd.top:/home/test ~/test

树莓派上的test文件正常显示在这里了树莓派上的test文件正常显示在这里了

评论已关闭