.ssh/config
で次のようなコマンドを指定する方法はありますか?
ssh -t remote-Host "screen -dR screen_name"
ssh remote-Host
?を使用してリモートscreen
セッションに簡単にアクセスできます
今私はカスタムスクリプトを使用してこの問題を解決しました:
$ cat ~/bin/sssh
#!/bin/sh
/usr/bin/ssh -t $1 "screen -dR ab"
~/bin
は最初に$PATH
のままですが、柔軟性がなく醜いです。
また、カスタムスクリプトにホストのオートコンプリートを実装する方法を見つけたいと思います。
-t
オプションの場合と同様にttyを割り当てるには、RequestTTY force
をssh構成ファイルのエントリとして(通常は~/.ssh/config
に)配置します。接続後も常にサーバーでコマンドを実行するには、エントリにRemoteCommand COMMAND
を入力します。ここで、COMMAND
は接続時に実行するコマンドです。その他のオプションについては、man ssh_config
を確認してください。
Host remote-Host
Hostname my.server.com
User imauser
IdentityFile /path/to/identity_file
RequestTTY force
RemoteCommand screen -dR screen_name
力ルークを使用!
RequestTTY force
あなたの~/.ssh/config
目的のホスト。
これが最も柔軟な方法だと私は主張します。スクリプトを使用すると、すべて入力に基づいて、パラメーターの設定、条件の追加、必要に応じたコマンドの変更を行うことができます。
authorized_keys
でコマンドを「強制」する方法があります。しかし、コマンドラインから以外にtty割り当てを強制する方法や、ローカル側の構成ファイルからリモートサーバーにコマンドを強制する方法はわかりません。
私自身、設定ファイルをスキャンし、さまざまなドメインでDNSをチェックし、ターミナルエミュレータのタイトル文字列を設定するスクリプトがあります。ローカルシステムの画面から呼び出します(Ctrl-ag)。
注:RemoteCommand
は OpenSSH 7.6 で動作します。以前のバージョン(つまり、現在のdebian 9.9)では、sshクライアントは(少なくともgit pull
)。