Linux下ssh客户端配置
发布时间:
本文字数:641 字 阅读完需:约 2 分钟
在linux下,~/.ssh目录是ssh的配置文件路径,其中./ssh/config文件可以用于自定义ssh服务器。
1.概述
通常,当通过 SSH 连接到远程服务器时,您将指定远程用户名、主机名和端口。例如,要从命令行以名为portjohn
的主机的用户身份登录,您可以键入:dev.example.com``2322
ssh [email protected] -p 2322
要使用与上面命令中提供的相同选项连接到服务器,只需键入ssh dev
,同时将以下行放入您的"~/.ssh/config
文件中:
Host dev
HostName dev.example.com
User john
Port 2322
现在,当您键入 时,ssh 客户端将读取配置文件并使用为主机ssh dev
指定的连接详细信息:dev
2.SSH配置文件示例
文件路径 ~/.ssh/config
Host targaryen
HostName 192.168.1.10
User daenerys
Port 7654
IdentityFile ~/.ssh/targaryen.key
Host tyrell
HostName 192.168.10.20
Host martell
HostName 192.168.10.50
Host *ell
user oberyn
Host * !martell
LogLevel INFO
Host *
User root
Compression yes
-
当您键入
ssh targaryen
时,ssh 客户端会读取文件并应用第一个匹配项中的选项,即Host targaryen
. 然后它一个接一个地检查下一个节是否有匹配的模式。下一个匹配的是Host * !martell
(表示除 之外的所有主机martell
),它将应用此节中的连接选项。最后一个定义Host *
也匹配,但 ssh 客户端将仅采用该Compression
选项,因为该User
选项已在Host targaryen
节中定义。键入时使用的完整选项列表ssh targaryen
如下:HostName 192.168.1.10 User daenerys Port 7654 IdentityFile ~/.ssh/targaryen.key LogLevel INFO Compression yes
-
运行
ssh tyrell
匹配的主机模式时:Host tyrell
、Host *ell
和. 在这种情况下使用的选项是:Host * !martell``Host *
HostName 192.168.10.20 User oberyn LogLevel INFO Compression yes
-
如果您运行
ssh martell
,则匹配的主机模式是Host martell
:Host *ell
和Host *
。在这种情况下使用的选项是:HostName 192.168.10.50 User oberyn Compression yes
-
对于所有其他连接,ssh 客户端将使用
Host * !martell
和Host *
部分中指定的选项。
3.SSH读取顺序
(1)从命令行指定的选项。 (2)~/.ssh/config
中定义的选项。 (3)/etc/ssh/ssh_config
中定义的选项。 如果要覆盖单个选项,可以在命令行上指定它。例如,如果您有以下定义:
Host dev
HostName dev.example.com
User john
Port 2322
并且您想使用所有其他选项,但以用户身份连接,root
而不是john
简单地在命令行上指定用户:
ssh -o "User=root" dev
( -F
)configfile
选项允许您指定替代的每用户配置文件。 要告诉ssh
客户端忽略 ssh 配置文件中指定的所有选项,请使用: ssh -F /dev/null [email protected]
4.dolphin连接ssh服务器
直接在地址栏输入sftp://HostName 即可,HostName可以为ssh配置文件中定义的内容。