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配置文件中定义的内容。
