This Sublime Text plugin allow you to browse and edit files on remote servers
Windows and Linux servers that support any openssh available
此处中文文档
- python3.dll
you can install from this repositories and copy to installation directory of sublime
- install libffi
# if Debian / Ubuntu
apt-get install libffi-dev
# if Fedora / CentOS / RHEL
sudo yum install libffi-devel
- bcrypt
- cffi
- cryptography
- nacl
- six
you can install from this repositories and copy to Lib\python38 path of sublime
- using Package Control
Open
Package Control: install
menu and type "SSH-Panel" to install
- Manual installation
Download this package as ZIP file and extract to "{you packages path}/SSH-Panel"
Setup service connect parameter
open command palette and select SSH-Panel: Edit Settings
command to edit settings file
default_connect_settings
All connect use default parameter valuesserver_settings
Specify preferences for connectionsdebug_mode
Debug enable switchstyle_css
Custom CSS Style,value is sublime resource,default is Packages/SSH-Panel/style.css see detailsnew_window
open new window when connectquiet_log
the pop-up message panel is not displayed immediately when a message is obtainedreconnect_on_start
whether to automatically open the last closed connection when starting sublime textnav_bar_color_change
change color of the directory panel,value range is -16777215~+16777215(-0xffffff~+0xffffff) type is string,this value will be added with the RGB color of the current view background to get a new RGB color
if you not want to change the background color value can be set to "0"
remote_path
The path on the remote host. You can use the environment variable of the remote host ,like "$HOME" or "%userprofile%",value is path name or path list
Each remote root path will be mapped to the subdirectory of
local_path
. The subdirectory name is the summary string generated by the path name
local_path
Local directory for synchronization,if empty will automatically generated in the user's home directory.can use the local environment variable
string "{auto_generate}" will be replaced with the UUID string generated from configuration and timestamp to generate a unique UUID path
After the first connection, this path will be save to the user configuration and using at next connection
network_timeout
The number of timeout seconds used to authenticate and connect to the remote hostport
SSH service port of remote host,default is 22known_hosts_file
know_hosts file path at local,if filled it will:
use the host key algorithm recorded in known_hosts_file when connecting if host not recorded in known_hosts_file, confirm whether to add and save the host public_key when connecting warn and force close connect when public_key obtained from remote host not matches public_key recorded in known_host_file
username
user name on remote hosthostname
remote host IP address or domain namealways_fingerprint_confirm
confirm server fingerprint every time,ifknown_hosts_file
is set wile use AA to verify the host fingerprint
password
password plaintextsave_password
save password plaintext in settings file,if is false the password will be deleted in the settings after connecting
private_key
used to set the encryption method and private key path when logged in to the server with the key
key algorithm available "RSAKey","DSSKey","ECDSAKey","Ed25519Key"
The value is a list of 2 elements like [{RSAKey/DSSKey/ECDSAKey/Ed25519Key},{private key path}]
!! if you sublime version < 4000 the command to generate the key must contain the [-m PEM] parameter or use a tool to convert the existing private key file format
"need_passphrase"
tells the plug-in whether a passphrase is set when generating a key pair, value is bool
gss_host
remote host IP address or domain name,if used, thehostname
option is not usedgss_auth
enable gss authentication ,valus is boolgss_kex
enable gss kex,valus is boolgss_deleg_creds
gss deleg credsgss_trust_dns
gss trust dns
"server_settings":{
// use password and username connect
"MyServer0":{
"username":"",
"hostname":"", // ip or domain name
"password":"", // if empty will prompt intput when connect
"save_password":false, // (optional) default is true
// ...
},
// use username and [private key] connect
"MyServer1":{
"username":"",
"hostname":"",
"private_key":["RSAKey","~/.ssh/id_rsa"], // ssh-keygen -t rsa [-m PEM]
// "private_key":["DSSKey","~/.ssh/id_dsa"] // ssh-keygen -t dsa [-m PEM]
// "private_key":["ECDSAKey","~/.ssh/id_ecdsa"] // ssh-keygen -t ecdsa [-m PEM]
// "private_key":["Ed25519Key","~/.ssh/id_ed25519"] // ssh-keygen -t ed25519 [-m PEM]
"need_passphrase":false // (optional) default is false, if is true will prompt intput when connect
// path
"remote_path":"/", // absolute path
// "remote_path":["/var","/etc"], // path list
// "remote_path":"%HOME/", // using environment variables (remote host)
"local_path":"~/SFTP-Local/{auto_generate}" // auto generate
// ...
},
// use gssapi connect
"MyServer2":{
"username":"",
"gss_host":"",
"gss_auth":true,
"gss_kex":true,
"gss_deleg_creds":true,
"gss_trust_dns":true
// ...
},
// ...
},
open command palette and select SSH-Panel: Connect Server
command
after select you server name to connect
you can edit and view server information on the pop-up directory panel
[?]
:help[I]
:show server infomation[R]
:refresh and sync file list[E]
:edit settings[T]
:pseudo terminal[+]
:add new root path[-]
:remove root path from view you can click the[...]
button on the right side of the directory or file to view attribute, delete or create a new one
you can set style_css option to control display in HTML style of output_panel and navigation_view
Create file "Packages\User\SSH-Panel\style.css" in sublime package path and set "style_css":"Packages\User\SSH-Panel\style.css"
<!-- the following class will be load -->
<!-- The available syntax rules follow https://www.sublimetext.com/docs/minihtml.html -->
.keyword{}
.keyword_error{}
.symbol{}
.title_bar{}
.res_dir{}
.res{}
.res_focus{}
.operation_menu{}
.warning{}
.error{}
.info{}
.debug{}
.no_accessible{}
welcome report issues and commit code.
if you like this can give me star :)